comparison OrthancFramework/Sources/HttpServer/IHttpHandler.h @ 4330:a01b1c9cbef4

moving generic type definitions from IHttpHandler to HttpToolbox
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Nov 2020 14:39:10 +0100
parents 9dc0e42f868b
children d9473bd5ed43
comparison
equal deleted inserted replaced
4329:9dc0e42f868b 4330:a01b1c9cbef4
20 **/ 20 **/
21 21
22 22
23 #pragma once 23 #pragma once
24 24
25 #if ORTHANC_SANDBOXED == 1
26 # error This file cannot be used in sandboxed environments
27 #endif
28
25 #include "../Compatibility.h" 29 #include "../Compatibility.h"
26 #include "../Toolbox.h" 30 #include "../Toolbox.h"
27 #include "HttpOutput.h" 31 #include "HttpOutput.h"
32 #include "HttpToolbox.h"
28 33
29 #include <map> 34 #include <map>
30 #include <set> 35 #include <set>
31 #include <vector> 36 #include <vector>
32 #include <string> 37 #include <string>
35 namespace Orthanc 40 namespace Orthanc
36 { 41 {
37 class IHttpHandler : public boost::noncopyable 42 class IHttpHandler : public boost::noncopyable
38 { 43 {
39 public: 44 public:
40 typedef std::map<std::string, std::string> Arguments;
41 typedef std::vector< std::pair<std::string, std::string> > GetArguments;
42
43
44 class IChunkedRequestReader : public boost::noncopyable 45 class IChunkedRequestReader : public boost::noncopyable
45 { 46 {
46 public: 47 public:
47 virtual ~IChunkedRequestReader() 48 virtual ~IChunkedRequestReader()
48 { 49 {
67 RequestOrigin origin, 68 RequestOrigin origin,
68 const char* remoteIp, 69 const char* remoteIp,
69 const char* username, 70 const char* username,
70 HttpMethod method, 71 HttpMethod method,
71 const UriComponents& uri, 72 const UriComponents& uri,
72 const Arguments& headers) = 0; 73 const HttpToolbox::Arguments& headers) = 0;
73 74
74 virtual bool Handle(HttpOutput& output, 75 virtual bool Handle(HttpOutput& output,
75 RequestOrigin origin, 76 RequestOrigin origin,
76 const char* remoteIp, 77 const char* remoteIp,
77 const char* username, 78 const char* username,
78 HttpMethod method, 79 HttpMethod method,
79 const UriComponents& uri, 80 const UriComponents& uri,
80 const Arguments& headers, 81 const HttpToolbox::Arguments& headers,
81 const GetArguments& getArguments, 82 const HttpToolbox::GetArguments& getArguments,
82 const void* bodyData, 83 const void* bodyData,
83 size_t bodySize) = 0; 84 size_t bodySize) = 0;
84 85
85 static bool SimpleGet(std::string& result, 86 static bool SimpleGet(std::string& result,
86 IHttpHandler& handler, 87 IHttpHandler& handler,
87 RequestOrigin origin, 88 RequestOrigin origin,
88 const std::string& uri, 89 const std::string& uri,
89 const Arguments& httpHeaders); 90 const HttpToolbox::Arguments& httpHeaders);
90 91
91 static bool SimplePost(std::string& result, 92 static bool SimplePost(std::string& result,
92 IHttpHandler& handler, 93 IHttpHandler& handler,
93 RequestOrigin origin, 94 RequestOrigin origin,
94 const std::string& uri, 95 const std::string& uri,
95 const void* bodyData, 96 const void* bodyData,
96 size_t bodySize, 97 size_t bodySize,
97 const Arguments& httpHeaders); 98 const HttpToolbox::Arguments& httpHeaders);
98 99
99 static bool SimplePut(std::string& result, 100 static bool SimplePut(std::string& result,
100 IHttpHandler& handler, 101 IHttpHandler& handler,
101 RequestOrigin origin, 102 RequestOrigin origin,
102 const std::string& uri, 103 const std::string& uri,
103 const void* bodyData, 104 const void* bodyData,
104 size_t bodySize, 105 size_t bodySize,
105 const Arguments& httpHeaders); 106 const HttpToolbox::Arguments& httpHeaders);
106 107
107 static bool SimpleDelete(IHttpHandler& handler, 108 static bool SimpleDelete(IHttpHandler& handler,
108 RequestOrigin origin, 109 RequestOrigin origin,
109 const std::string& uri, 110 const std::string& uri,
110 const Arguments& httpHeaders); 111 const HttpToolbox::Arguments& httpHeaders);
111 }; 112 };
112 } 113 }