![]() |
Stellarium 0.15.2
|
This object represents a HTTP response, used to return something to the web client. More...
#include <httpresponse.h>
Public Member Functions | |
| HttpResponse (QTcpSocket *socket) | |
| Constructor. More... | |
| void | setHeader (QByteArray name, QByteArray value) |
| Set a HTTP response header. More... | |
| void | setHeader (QByteArray name, int value) |
| Set a HTTP response header. More... | |
| bool | hasHeader (const QByteArray name) const |
| Returns wether this header has already been set. More... | |
| QMap< QByteArray, QByteArray > & | getHeaders () |
| Get the map of HTTP response headers. More... | |
| QMap< QByteArray, HttpCookie > & | getCookies () |
| Get the map of cookies. More... | |
| void | setStatus (int statusCode, QByteArray description=QByteArray()) |
| Set status code and description. More... | |
| int | getStatusCode () const |
| Return the status code. More... | |
| void | write (QByteArray data, bool lastPart=false) |
| Write body data to the socket. More... | |
| bool | hasSentLastPart () const |
| Indicates whether the body has been sent completely (write() has been called with lastPart=true). More... | |
| void | setCookie (const HttpCookie &cookie) |
| Set a cookie. More... | |
| void | redirect (const QByteArray &url) |
| Send a redirect response to the browser. More... | |
| void | flush () |
| Flush the output buffer (of the underlying socket). More... | |
| bool | isConnected () const |
| May be used to check whether the connection to the web client has been lost. More... | |
This object represents a HTTP response, used to return something to the web client.
response.setStatus(200,"OK"); // optional, because this is the default
response.writeBody("Hello");
response.writeBody("World!",true);
Example how to return an error:
response.setStatus(500,"server error");
response.write("The request cannot be processed because the servers is broken",true);
In case of large responses (e.g. file downloads), a Content-Length header should be set before calling write(). Web Browsers use that information to display a progress bar.
Definition at line 35 of file httpresponse.h.
| HttpResponse::HttpResponse | ( | QTcpSocket * | socket | ) |
Constructor.
| socket | used to write the response |
| void HttpResponse::flush | ( | ) |
Flush the output buffer (of the underlying socket).
You normally don't need to call this method because flush is automatically called after HttpRequestHandler::service() returns.
| QMap<QByteArray,HttpCookie>& HttpResponse::getCookies | ( | ) |
Get the map of cookies.
| QMap<QByteArray,QByteArray>& HttpResponse::getHeaders | ( | ) |
Get the map of HTTP response headers.
| int HttpResponse::getStatusCode | ( | ) | const |
Return the status code.
| bool HttpResponse::hasHeader | ( | const QByteArray | name | ) | const |
Returns wether this header has already been set.
| bool HttpResponse::hasSentLastPart | ( | ) | const |
Indicates whether the body has been sent completely (write() has been called with lastPart=true).
| bool HttpResponse::isConnected | ( | ) | const |
May be used to check whether the connection to the web client has been lost.
This might be useful to cancel the generation of large or slow responses.
| void HttpResponse::redirect | ( | const QByteArray & | url | ) |
Send a redirect response to the browser.
Cannot be combined with write().
| url | Destination URL |
| void HttpResponse::setCookie | ( | const HttpCookie & | cookie | ) |
Set a cookie.
You must call this method before the first write().
| void HttpResponse::setHeader | ( | QByteArray | name, |
| QByteArray | value | ||
| ) |
Set a HTTP response header.
You must call this method before the first write().
| name | name of the header |
| value | value of the header |
| void HttpResponse::setHeader | ( | QByteArray | name, |
| int | value | ||
| ) |
Set a HTTP response header.
You must call this method before the first write().
| name | name of the header |
| value | value of the header |
| void HttpResponse::setStatus | ( | int | statusCode, |
| QByteArray | description = QByteArray() |
||
| ) |
Set status code and description.
The default is 200,OK. You must call this method before the first write().
| void HttpResponse::write | ( | QByteArray | data, |
| bool | lastPart = false |
||
| ) |
Write body data to the socket.
The HTTP status line, headers and cookies are sent automatically before the body.
If the response contains only a single chunk (indicated by lastPart=true), then a Content-Length header is automatically set.
Chunked mode is automatically selected if there is no Content-Length header and also no Connection:close header.
| data | Data bytes of the body |
| lastPart | Indicates that this is the last chunk of data and flushes the output buffer. |
1.8.11