6#include <imtrest/CHttpServletCompBase.h>
7#include <imtrest/CHttpResponse.h>
8#include <imtservergql/IFileUploadHandler.h>
15class CHttpFileUploadServletComp:
public imtrest::CHttpServletCompBase
18 typedef imtrest::CHttpServletCompBase BaseClass;
20 I_BEGIN_COMPONENT(CHttpFileUploadServletComp)
21 I_ASSIGN(m_fileUploadHandlerPtr,
"FileUploadHandler",
"File upload handler",
false,
"FileUploadHandlerPtr");
26 virtual ConstResponsePtr OnPut(
27 const QByteArray& commandId,
28 const imtrest::IRequest::CommandParams& commandParams,
29 const HeadersMap& headers,
30 const imtrest::CHttpRequest& request)
const override;
36 qsizetype startIndex = -1;
37 qsizetype endIndex = -1;
38 qsizetype totalSize = -1;
42 RangeData GetRangeDataFromString(
const QString& dataString)
const;
43 CHttpResponse::Headers GetRequestHeaders(
const CHttpRequest& request)
const;
44 ConstResponsePtr CreateResponse(
45 const IRequest& request,
47 const imtrest::CHttpResponse::Headers& headers,
48 const QByteArray& data,
49 const QByteArray& dataTypeId)
const;
54 static QByteArray s_plainTextReponseTypeId;
55 static QByteArray s_octetStreamTypeId;
Interface for handling chunked file uploads.