Mercurial > hg > orthanc
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 } |