comparison OrthancFramework/Sources/HttpServer/HttpServer.h @ 4454:f20a7655fb1c

Fix upload of multiple DICOM files using one single POST call to "multipart/form-data"
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 19 Jan 2021 12:03:49 +0100
parents d9473bd5ed43
children 7053502fbf97
comparison
equal deleted inserted replaced
4453:4f8e77c650e8 4454:f20a7655fb1c
55 #include <stdint.h> 55 #include <stdint.h>
56 #include <boost/shared_ptr.hpp> 56 #include <boost/shared_ptr.hpp>
57 57
58 namespace Orthanc 58 namespace Orthanc
59 { 59 {
60 class ChunkStore;
61 class OrthancException; 60 class OrthancException;
62 61
63 class IHttpExceptionFormatter : public boost::noncopyable 62 class IHttpExceptionFormatter : public boost::noncopyable
64 { 63 {
65 public: 64 public:
83 82
84 private: 83 private:
85 // http://stackoverflow.com/questions/311166/stdauto-ptr-or-boostshared-ptr-for-pimpl-idiom 84 // http://stackoverflow.com/questions/311166/stdauto-ptr-or-boostshared-ptr-for-pimpl-idiom
86 struct PImpl; 85 struct PImpl;
87 boost::shared_ptr<PImpl> pimpl_; 86 boost::shared_ptr<PImpl> pimpl_;
87
88 class ChunkStore;
89 class MultipartFormDataHandler;
88 90
89 IHttpHandler *handler_; 91 IHttpHandler *handler_;
90 92
91 typedef std::set<std::string> RegisteredUsers; 93 typedef std::set<std::string> RegisteredUsers;
92 RegisteredUsers registeredUsers_; 94 RegisteredUsers registeredUsers_;
170 172
171 IIncomingHttpRequestFilter* GetIncomingHttpRequestFilter() const; 173 IIncomingHttpRequestFilter* GetIncomingHttpRequestFilter() const;
172 174
173 void SetIncomingHttpRequestFilter(IIncomingHttpRequestFilter& filter); 175 void SetIncomingHttpRequestFilter(IIncomingHttpRequestFilter& filter);
174 176
175 ChunkStore& GetChunkStore();
176
177 bool IsValidBasicHttpAuthentication(const std::string& basic) const; 177 bool IsValidBasicHttpAuthentication(const std::string& basic) const;
178 178
179 void Register(IHttpHandler& handler); 179 void Register(IHttpHandler& handler);
180 180
181 bool HasHandler() const; 181 bool HasHandler() const;
209 209
210 #if ORTHANC_ENABLE_PUGIXML == 1 210 #if ORTHANC_ENABLE_PUGIXML == 1
211 void Register(const std::vector<std::string>& root, 211 void Register(const std::vector<std::string>& root,
212 IWebDavBucket* bucket); // Takes ownership 212 IWebDavBucket* bucket); // Takes ownership
213 #endif 213 #endif
214
215 ORTHANC_LOCAL
216 void ProcessMultipartFormData(const std::string& remoteIp,
217 const std::string& username,
218 const UriComponents& uri,
219 const std::map<std::string, std::string>& headers,
220 const std::string& body,
221 const std::string& boundary);
214 }; 222 };
215 } 223 }