QGIS API Documentation 4.1.0-Master (26185ffb827)
Loading...
Searching...
No Matches
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#include "qgis.h"
23#include "qgsserverexception.h"
24#include "qgsserverfilter.h"
25#include "qgsserverresponse.h"
26
27#define SIP_NO_FILE
28
35{
36 public:
43
47 void start() SIP_THROW( QgsServerException ) SIP_VIRTUALERRORHANDLER( server_exception_handler );
48
53 void ready() SIP_THROW( QgsServerException ) SIP_VIRTUALERRORHANDLER( server_exception_handler );
54
55 // QgsServerResponse overrides
56
57 void setHeader( const QString &key, const QString &value ) override { mResponse.setHeader( key, value ); }
58
59 void addHeader( const QString &key, const QString &value ) override { mResponse.addHeader( key, value ); }
60
61 void removeHeader( const QString &key ) override { mResponse.removeHeader( key ); }
62
63 Q_DECL_DEPRECATED QString header( const QString &key ) const override
64 {
66 return mResponse.header( key );
68 }
69
70 Q_DECL_DEPRECATED QMap<QString, QString> headers() const override
71 {
73 return mResponse.headers();
75 }
76
77 virtual QList<QString> fullHeader( const QString &key ) const override { return mResponse.fullHeader( key ); }
78
79 virtual QMap<QString, QList<QString> > fullHeaders() const override { return mResponse.fullHeaders(); }
80
81 bool headersSent() const override { return mResponse.headersSent(); }
82
83 void setStatusCode( int code ) override { mResponse.setStatusCode( code ); }
84
85 int statusCode() const override { return mResponse.statusCode(); }
86
87 void sendError( int code, const QString &message ) override { mResponse.sendError( code, message ); }
88
89 QIODevice *io() override { return mResponse.io(); }
90
91 void finish() override;
92
93 void flush() override;
94
95 void clear() override { mResponse.clear(); }
96
97 QByteArray data() const override { return mResponse.data(); }
98
99 void truncate() override { mResponse.truncate(); }
100
101 QgsFeedback *feedback() const override { return mResponse.feedback(); }
102
103 private:
104 QgsServerFiltersMap mFilters;
105 QgsServerResponse &mResponse;
106};
107
108#endif
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
void clear() override
Reset all headers and content for this response.
int statusCode() const override
Returns the http status code.
void sendError(int code, const QString &message) override
Send error This method delegates error handling at the server level.
virtual QList< QString > fullHeader(const QString &key) const override
Returns a (possibly empty) list of all the header values for the given key.
virtual QMap< QString, QList< QString > > fullHeaders() const override
Returns all the header values.
QgsFeedback * feedback() const override
Returns the socket feedback if any.
QIODevice * io() override
Returns the underlying QIODevice.
void flush() override
Flushes the current output buffer to the network.
void start()
Call filters requestReady() method.
void finish() override
Finish the response, ending the transaction.
void removeHeader(const QString &key) override
Clear all header values for the given key Undo a previous 'setHeader' call.
void setStatusCode(int code) override
Set the http status code.
QgsFilterResponseDecorator(QgsServerFiltersMap filters, QgsServerResponse &response)
Constructor for QgsFilterResponseDecorator.
QByteArray data() const override
Gets the data written so far.
void addHeader(const QString &key, const QString &value) override
Add a header value for the given key, without replacing any existing value for the same key Add Heade...
void truncate() override
Truncate data.
bool headersSent() const override
Returns true if the headers have already been sent.
void setHeader(const QString &key, const QString &value) override
Set a single header value replacing any existing value(s) for the same key.
Q_DECL_DEPRECATED QString header(const QString &key) const override
Returns a single header value for a given key.
void ready()
Call filters projectReady() method.
Q_DECL_DEPRECATED QMap< QString, QString > headers() const override
Returns the header values as a map: only the last value is returned if multiple values are set for th...
Exception base class for server exceptions.
Defines the response interface passed to QgsService.
QgsServerResponse()=default
#define Q_NOWARN_DEPRECATED_POP
Definition qgis.h:7801
#define Q_NOWARN_DEPRECATED_PUSH
Definition qgis.h:7800
#define SIP_VIRTUALERRORHANDLER(name)
Definition qgis_sip.h:203
#define SIP_THROW(name,...)
Definition qgis_sip.h:210
QMultiMap< int, QgsServerFilter * > QgsServerFiltersMap