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






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

%TypeHeaderCode
#include "qgsrequesthandler.h"
%End
  public:
    explicit QgsRequestHandler( QgsServerRequest &request, QgsServerResponse &response );
%Docstring
Constructor

Note that :py:class:`QgsServerRequest` and :py:class:`QgsServerResponse`
MUST live in the same scope
%End

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

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

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

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

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

    QString responseHeader( const QString &name ) const;
%Docstring
Retrieve response header value
%End

    QMap<QString, QString> responseHeaders() const;
%Docstring
Returns the response headers
%End

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

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

    QString requestHeader( const QString &name ) const;
%Docstring
Retrieve request header value
%End

    QMap<QString, QString> requestHeaders() const;
%Docstring
Returns the the Request headers
%End

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

    void appendBody( const QByteArray &body );
%Docstring
Sets the info format string such as "text/xml"
%End

    bool exceptionRaised() const;
%Docstring
Pointer to last raised exception
%End

    void clearBody();
%Docstring
Clear response buffer
%End

    QByteArray body() const;
%Docstring
Returns the response body data
%End

    QByteArray data() const;
%Docstring
Returns the request POST data (can be null)
%End

    QString url() const;
%Docstring
Returns the request url
%End

    QString path() const;
%Docstring
Returns the path component of the request URL

.. versionadded:: 3.16
%End

    void setStatusCode( int code );
%Docstring
Sets response http status code
%End

    int statusCode() const;
%Docstring
Returns the response http status code
%End

    QMap<QString, QString> parameterMap() const;
%Docstring
Returns 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
%End

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

    QString parameter( const QString &key ) const;
%Docstring
Returns a request parameter
%End

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


    QString format() const;
%Docstring
Returns the requested format string
%End

    bool headersSent() const;
%Docstring
Returns ``True`` if the HTTP headers were already sent to the client
%End

  private:
    QgsRequestHandler &operator=( const QgsRequestHandler & );
};

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