QGIS API Documentation  3.4.15-Madeira (e83d02e274)
qgsfilterresponsedecorator.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsfilterresponsedecorator.h
3 
4  Define response adapter for handling filter's hooks
5  -------------------
6  begin : 2017-01-05
7  copyright : (C) 2017 by David Marteau
8  email : david dot marteau at 3liz dot com
9  ***************************************************************************/
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * *
18  ***************************************************************************/
19 #ifndef QGSFILTERRESPONSEDECORATOR_H
20 #define QGSFILTERRESPONSEDECORATOR_H
21 
22 #define SIP_NO_FILE
23 
24 
25 #include "qgsserverresponse.h"
26 #include "qgsserverfilter.h"
27 
35 {
36  public:
37 
44 
48  void start();
49 
50  // QgsServerResponse overrides
51 
52  void setHeader( const QString &key, const QString &value ) override { mResponse.setHeader( key, value ); }
53 
54  void removeHeader( const QString &key ) override { mResponse.removeHeader( key ); }
55 
56  QString header( const QString &key ) const override { return mResponse.header( key ); }
57 
58  QMap<QString, QString> headers() const override { return mResponse.headers(); }
59 
60  bool headersSent() const override { return mResponse.headersSent(); }
61 
62  void setStatusCode( int code ) override { mResponse.setStatusCode( code ); }
63 
64  int statusCode() const override { return mResponse.statusCode(); }
65 
66  void sendError( int code, const QString &message ) override { mResponse.sendError( code, message ); }
67 
68  QIODevice *io() override { return mResponse.io(); }
69 
70  void finish() override;
71 
72  void flush() override;
73 
74  void clear() override { mResponse.clear(); }
75 
76  QByteArray data() const override { return mResponse.data(); }
77 
78  void truncate() override { mResponse.truncate(); }
79 
80  private:
81  QgsServerFiltersMap mFilters;
82  QgsServerResponse &mResponse;
83 };
84 
85 #endif
86 
87 
88 
89 
90 
virtual void setHeader(const QString &key, const QString &value)=0
Set Header entry Add Header entry to the response Note that it is usually an error to set Header afte...
QgsFilterResponseDecorator(QgsServerFiltersMap filters, QgsServerResponse &response)
Constructor for QgsFilterResponseDecorator.
virtual void truncate()=0
Truncate data.
void clear() override
Reset all headers and content for this response.
QIODevice * io() override
Returns the underlying QIODevice.
virtual void sendError(int code, const QString &message)=0
Send error This method delegates error handling at the server level.
QByteArray data() const override
Gets the data written so far.
virtual int statusCode() const =0
Returns the http status code.
virtual void clear()=0
Reset all headers and content for this response.
bool headersSent() const override
Returns true if the headers have already been sent.
Class defining decorator for calling filter&#39;s hooks.
virtual void removeHeader(const QString &key)=0
Clear header Undo a previous &#39;setHeader&#39; call.
void removeHeader(const QString &key) override
Clear header Undo a previous &#39;setHeader&#39; call.
virtual void setStatusCode(int code)=0
Set the http status code.
QMultiMap< int, QgsServerFilter * > QgsServerFiltersMap
void flush() override
Flushes the current output buffer to the network.
virtual QString header(const QString &key) const =0
Returns the header value.
virtual QByteArray data() const =0
Gets the data written so far.
int statusCode() const override
Returns the http status code.
void setStatusCode(int code) override
Set the http status code.
virtual QIODevice * io()=0
Returns the underlying QIODevice.
virtual QMap< QString, QString > headers() const =0
Returns the header value.
void setHeader(const QString &key, const QString &value) override
Set Header entry Add Header entry to the response Note that it is usually an error to set Header afte...
void start()
Call filters requestReady() method.
void sendError(int code, const QString &message) override
Send error This method delegates error handling at the server level.
virtual bool headersSent() const =0
Returns true if the headers have already been sent.
QgsServerResponse Class defining response interface passed to services QgsService::executeRequest() m...
QString header(const QString &key) const override
Returns the header value.
void truncate() override
Truncate data.
void finish() override
Finish the response, ending the transaction.
QMap< QString, QString > headers() const override
Returns the header value.