12 #ifndef __NET_WEBRESPONSE_H__
13 #define __NET_WEBRESPONSE_H__
30 class NET_HTTPRequest;
107 explicit operator bool()
const {
return isSuccess(); }
126 if (it == myHeaders.end())
139 bool hasJSONBody()
const;
140 static bool isJSONBody(
const HeaderMap &headers);
255 static Code translateErrorToCode(
int err);
279 return myError.myErrorCode == Error::GOT_NOTHING;
348 bool isFile()
const {
return myFile.isstring(); }
380 for (
auto&& header : headers)
382 setHeader(header.first, header.second);
395 if (!content_type.isEmpty())
396 myContentType = content_type;
397 else if (myContentType.isEmpty())
398 myContentType =
"text/plain";
399 myContentLength = myData.
length();
408 myHasMoreData = has_more;
414 setBody(body,
"text/plain");
418 setBody(body,
"application/json");
429 myDeleteFile =
false;
442 myBoundary.format(
"-----{}",
time(NULL) ^ (
uint64)(
this));
500 myContentType.clear();
505 myDeleteFile =
false;
513 myHasMoreData =
false;
520 friend class NET_HttpIO;
526 exint myContentLength;
529 unsigned myDeleteFile : 1;
530 unsigned myUpgrade : 1;
531 unsigned myChunked : 1;
532 unsigned myHasMoreData : 1;
533 unsigned myKeepAlive : 1;
540 #endif // __NET_WEBRESPONSE_H__
NET_HTTPStatusCode status() const
const UT_StringHolder & contentTypeOrEmpty() const
void setDefault(const UT_StringHolder &name, const UT_StringHolder &value)
Response object used for responding to request in the server.
void setErrors(const UT_StringHolder &errors)
GT_API const UT_StringHolder time
void setKeepAlive(bool keep_alive)
NET_WebResponse(NET_HTTPStatusCode code, const UT_StringHolder &data)
GLuint const GLchar * name
unsigned long long uint64
void setRanges(const NET_RequestRangeList &ranges)
void setText(const UT_StringHolder &body)
bool hasHeader(const UT_StringRef &header) const
hboost::optional< T > UT_Optional
Response object used by a client from a response by a server.
void setStatus(NET_HTTPStatusCode code)
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
bool isRequestNotFound() const
static const UT_StringHolder theEmptyString
void setJSON(const UT_StringHolder &body)
void setDefault(const UT_StringHolder &name, const UT_StringHolder &value)
const HeaderMap & headers() const
UT_SharedPtr< NET_WebResponse > NET_WebResponseSPtr
UT_ArrayStringMap< UT_StringHolder > HeaderMap
const UT_StringHolder & boundary() const
UT_StringHolder myExtraDetails
UT_StringHolder myErrorMsg
NET_WebResponse(NET_HTTPStatusCode code, const HeaderMap &headers, const UT_StringHolder &data)
#define HTTP_ACCEPT_RANGES
NET_HTTPStatusCode myStatus
NET_WebResponse(NET_HTTPStatusCode code)
exint entries() const
Alias of size(). size() is preferred.
#define HTTP_LAST_MODIFIED
NET_WebResponse & operator=(const NET_HTTPResponse &resp)
void setBody(const UT_StringHolder &body, const UT_StringRef &content_type="")
const NET_RequestRangeList & ranges() const
const UT_StringHolder & data() const
void setHeaders(const HeaderMap &headers)
GLsizei const GLfloat * value
exint contentLength() const
NET_WebResponse(NET_HTTPStatusCode code, const HeaderMap &headers)
void setBodyChunk(const UT_StringHolder &body, bool has_more=false)
bool errorReceivedNothing() const
const UT_StringHolder & file() const
bool hasHeader(const UT_StringRef &header) const
void clear()
Resets list to an empty list.
const UT_StringHolder & contentType() const
#define HTTP_CONTENT_TYPE
bool isBadRequest() const
NET_WebResponse(const NET_HTTPResponse &resp)