QGIS/python/server/qgsrequesthandler.sip

71 lines
2.7 KiB
Plaintext
Raw Normal View History

2014-10-10 19:28:20 +02:00
/***************************************************************************
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
***************************************************************************/
/**
* \class QgsRequestHandler
* \brief 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
*/
2014-10-09 15:05:19 +02:00
class QgsRequestHandler
{
%TypeHeaderCode
#include "qgsmapserviceexception.h"
#include "qgsrequesthandler.h"
%End
public:
2015-02-03 02:21:52 +01:00
/**Allow plugins to return a QgsMapServiceException*/
virtual void setServiceException( QgsMapServiceException ex /Transfer/ ) = 0;
2014-10-09 15:05:19 +02:00
/**Set an HTTP header*/
virtual void setHeader( const QString &name, const QString &value ) = 0;
/**Remove an HTTP header*/
virtual int removeHeader( const QString &name ) = 0;
/**Delete all HTTP headers*/
virtual void clearHeaders( ) = 0;
/**Append the bytestream to response body*/
2015-02-03 02:21:52 +01:00
virtual void appendBody( const QByteArray &body ) = 0;
2014-10-09 15:05:19 +02:00
/**Clears the response body*/
virtual void clearBody( ) = 0;
2015-02-03 02:21:52 +01:00
/**Return the response body*/
virtual QByteArray body();
2014-10-10 19:28:20 +02:00
/**Set the info format string such as "text/xml"*/
2014-10-09 15:05:19 +02:00
virtual void setInfoFormat( const QString &format ) = 0;
2015-02-03 02:21:52 +01:00
/**Check whether there is any header set or the body is not empty*/
2014-10-09 15:05:19 +02:00
virtual bool responseReady() const = 0;
2015-02-03 02:21:52 +01:00
/**Send out HTTP headers and flush output buffer*/
virtual void sendResponse( ) = 0;
2014-10-09 15:05:19 +02:00
/**Pointer to last raised exception*/
virtual bool exceptionRaised() const = 0;
2014-10-10 19:28:20 +02:00
/**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
*/
2015-02-03 02:21:52 +01:00
QMap<QString, QString> parameterMap();
2014-10-09 15:05:19 +02:00
/**Set a request parameter*/
2015-02-03 02:21:52 +01:00
virtual void setParameter( const QString &key, const QString &value ) = 0;
2014-10-09 15:05:19 +02:00
/**Remove a request parameter*/
2015-02-03 02:21:52 +01:00
virtual int removeParameter( const QString &key ) = 0;
2014-10-09 15:05:19 +02:00
/**Return a request parameter*/
2015-02-03 02:21:52 +01:00
virtual QString parameter( const QString &key ) const = 0;
/**Return the requested format string*/
2014-10-09 15:05:19 +02:00
QString format() const;
2015-02-03 02:21:52 +01:00
/**Return the mime type for the response*/
2014-10-10 19:28:20 +02:00
QString infoFormat() const;
/**Return true if the HTTP headers were already sent to the client*/
bool headersSent();
2014-10-09 15:05:19 +02:00
};