19#ifndef QGSFCGISERVERRESPONSE_H
20#define QGSFCGISERVERRESPONSE_H
60 std::atomic_bool mShouldStop;
61 std::shared_ptr<QgsFeedback> mFeedback;
65 std::timed_mutex mMutex;
85 void setHeader(
const QString &key,
const QString &value )
override;
89 QString
header(
const QString &key )
const override;
91 QMap<QString, QString>
headers()
const override {
return mHeaders; }
99 void sendError(
int code,
const QString &message )
override;
101 QIODevice *
io()
override;
105 void flush()
override;
107 void clear()
override;
109 QByteArray
data()
const override;
116 void setDefaultHeaders();
125 QMap<QString, QString> mHeaders;
127 bool mFinished =
false;
128 bool mHeadersSent =
false;
133 std::unique_ptr<QgsSocketMonitoringThread> mSocketMonitoringThread;
137 std::shared_ptr<QgsFeedback> mFeedback;
QgsFeedback * feedback() const override
Returns socket feedback if any.
QMap< QString, QString > headers() const override
Returns the header value.
QgsFcgiServerResponse(QgsServerRequest::Method method=QgsServerRequest::GetMethod)
Constructor for QgsFcgiServerResponse.
int statusCode() const override
Returns the http status code.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Method
HTTP Method (or equivalent) used for the request.
virtual void removeHeader(const QString &key)=0
Clear header Undo a previous 'setHeader' call.
virtual void truncate()=0
Truncate data.
virtual void flush()
Flushes the current output buffer to the network.
virtual QByteArray data() const =0
Gets the data written so far.
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...
virtual void clear()=0
Reset all headers and content for this response.
QgsServerResponse()=default
virtual void finish()
Finish the response, ending the transaction.
virtual bool headersSent() const =0
Returns true if the headers have already been sent.
virtual void sendError(int code, const QString &message)=0
Send error This method delegates error handling at the server level.
virtual QIODevice * io()=0
Returns the underlying QIODevice.
virtual QString header(const QString &key) const =0
Returns the header value.
virtual void setStatusCode(int code)=0
Set the http status code.
void run()
main thread function
void stop()
Stop the thread.
QgsSocketMonitoringThread(std::shared_ptr< QgsFeedback > feedback)
Constructor for QgsSocketMonitoringThread.