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