ImagingTools Core SDK
CHttpFileControllerServletComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ImtCore includes
6#include <imtrest/IBinaryDataController.h>
7#include <imtrest/CHttpFileProviderBasedServletComp.h>
8
9
10namespace imtrest
11{
12
13
14class CHttpFileControllerServletComp: public CHttpFileProviderBasedServletComp
15{
16public:
17 typedef CHttpFileProviderBasedServletComp BaseClass;
18
19 I_BEGIN_COMPONENT(CHttpFileControllerServletComp)
20 I_REGISTER_INTERFACE(IRequestServlet)
21 I_ASSIGN_MULTI_0(m_binaryDataControllersCompPtr, "BinaryDataControllers", "Binary data controllers", false);
22 I_END_COMPONENT
23
24protected:
25 // reimplemented (CHttpServletCompBase)
26 ConstResponsePtr OnPost(
27 const QByteArray& commandId,
28 const IRequest::CommandParams& commandParams,
29 const HeadersMap& headers,
30 const CHttpRequest& request) const override;
31 ConstResponsePtr OnDelete(
32 const QByteArray& commandId,
33 const IRequest::CommandParams& commandParams,
34 const HeadersMap& headers,
35 const CHttpRequest& request) const override;
36
37private:
38 I_MULTIREF(imtrest::IBinaryDataController, m_binaryDataControllersCompPtr);
39};
40
41
42} // namespace imtrest
43
44
The IBinaryDataController provides managment of the file from disc, resources or memory.