Skip to content

Commit

Permalink
[server] Sipify QgsRequestHandler
Browse files Browse the repository at this point in the history
  • Loading branch information
elpaso committed May 16, 2017
1 parent 2f75bab commit cbef51c
Show file tree
Hide file tree
Showing 2 changed files with 145 additions and 57 deletions.
1 change: 0 additions & 1 deletion python/auto_sip.blacklist
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,6 @@ server/qgsaccesscontrolfilter.sip
server/qgsaccesscontrol.sip
server/qgsmapserviceexception.sip
server/qgscapabilitiescache.sip
server/qgsrequesthandler.sip
server/qgsserverprojectparser.sip
server/qgswmsconfigparser.sip
server/qgswmsprojectparser.sip
Expand Down
201 changes: 145 additions & 56 deletions python/server/qgsrequesthandler.sip
Original file line number Diff line number Diff line change
@@ -1,100 +1,189 @@
/***************************************************************************
qgsrequesthandler.sip

This class is an interface hiding the details of reading input and
writing output from/to a wms request mechanism
-------------------
begin : 2014-09-10
copyright : (C) 2014 by Alessandro Pasotti
email : a dot pasotti at itopen dot it
***************************************************************************/


/**
* \ingroup server
* This class is an interface hiding the details of reading input and writing
* output from/to a wms request mechanism.
* Examples of possible mechanisms are cgi Get, cgi Post, SOAP or the usage
* as a standalone command line executable
*/
class QgsRequestHandler /Abstract/
/************************************************************************
* This file has been generated automatically from *
* *
* src/server/qgsrequesthandler.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/






typedef QList< QPair<QRgb, int> > QgsColorBox; //Color / number of pixels
typedef QMultiMap< int, QgsColorBox > QgsColorBoxMap; // sum of pixels / color box

class QgsRequestHandler
{
%Docstring
This class is an interface hiding the details of reading input and writing
output from/to a wms request mechanism.
%End

%TypeHeaderCode
#include "qgsserverexception.h"
#include "qgsrequesthandler.h"
%End

public:

/** Allow plugins to return a QgsServerException*/
explicit QgsRequestHandler( QgsServerRequest &request, QgsServerResponse &response );
%Docstring
Constructor

Note that QgsServerRequest and QgsServerResponse MUST live in the same scope
%End
~QgsRequestHandler();

void setServiceException( const QgsServerException &ex );
%Docstring
Allow plugins to return a QgsMapServiceException
%End

void sendResponse();
%Docstring
Send out HTTP headers and flush output buffer

This method is intended only for streaming
partial content.
%End

//! Set an HTTP response header
void setResponseHeader( const QString &name, const QString &value );
%Docstring
Set an HTTP response header
%End

//! Remove an HTTP response header
void removeResponseHeader( const QString &name );
%Docstring
Remove an HTTP response header
%End

//! Retrieve response header value
QString responseHeader( const QString &name ) const;
%Docstring
Retrieve response header value
:rtype: str
%End

//! Return the response headers
QMap<QString, QString> responseHeaders() const;
%Docstring
Return the response headers
:rtype: QMap<str, QString>
%End

//! Set an HTTP request header
void setRequestHeader( const QString &name, const QString &value );
%Docstring
Set an HTTP request header
%End

//! Remove an HTTP request header
void removeRequestHeader( const QString &name );
%Docstring
Remove an HTTP request header
%End

//! Retrieve request header value
QString requestHeader( const QString &name ) const;
%Docstring
Retrieve request header value
:rtype: str
%End

//! Return the Request headers
QMap<QString, QString> requestHeaders() const;
%Docstring
Return the Request headers
:rtype: QMap<str, QString>
%End

void clear();
%Docstring
Clears the response body and headers
%End

/** Append the bytestream to response body*/
void appendBody( const QByteArray &body );
%Docstring
Set the info format string such as "text/xml"
%End

/** Send out HTTP headers and flush output buffer*/
void sendResponse();
bool exceptionRaised() const;
%Docstring
Pointer to last raised exception
:rtype: bool
%End

//! Set response http status code
void setStatusCode( int code );
void clearBody();
%Docstring
Clear response buffer
%End

//! Return response http status code
int statusCode( ) const;
QByteArray body() const;
%Docstring
Return response body data
:rtype: QByteArray
%End

/** Pointer to last raised exception*/
bool exceptionRaised() const;
QByteArray data() const;
%Docstring
Return request POST data (can be null)
:rtype: QByteArray
%End

/** Clear response buffer */
void clearBody();
QString url() const;
%Docstring
Return request url
:rtype: str
%End

//! Clears the response body and headers
void clear();
void setStatusCode( int code );
%Docstring
Set response http status code
%End

/** Return body data */
QByteArray body() const;
int statusCode( ) const;
%Docstring
Return response http status code
:rtype: int
%End

/** Return a copy of the parsed parameters as a key-value pair, to modify
* a parameter setParameter( const QString &key, const QString &value)
* and removeParameter(const QString &key) must be used
*/
QMap<QString, QString> parameterMap() const;
%Docstring
Return the parsed parameters as a key-value pair, to modify
a parameter setParameter( const QString &key, const QString &value)
and removeParameter(const QString &key) must be used
:rtype: QMap<str, QString>
%End

/** Set a request parameter*/
void setParameter( const QString &key, const QString &value );
%Docstring
Set a request parameter
%End

QString parameter( const QString &key ) const;
%Docstring
Return a request parameter
:rtype: str
%End

/** Remove a request parameter*/
void removeParameter( const QString &key );
%Docstring
Remove a request parameter
%End

/** Return a request parameter*/
QString parameter( const QString &key ) const;

/** Return the requested format string*/
QString format() const;
%Docstring
Return the requested format string
:rtype: str
%End

/** Return true if the HTTP headers were already sent to the client*/
bool headersSent() const;
%Docstring
Return true if the HTTP headers were already sent to the client
:rtype: bool
%End

};

/************************************************************************
* This file has been generated automatically from *
* *
* src/server/qgsrequesthandler.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/

0 comments on commit cbef51c

Please sign in to comment.