Mercurial > hg > orthanc
comparison Core/HttpServer/HttpOutput.h @ 155:93e1b0e3b83a
filenames when downloading json/dicom
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 23 Oct 2012 15:43:46 +0200 |
parents | fe180eae201d |
children | 7f74209ea0f8 |
comparison
equal
deleted
inserted
replaced
154:66c2605532b3 | 155:93e1b0e3b83a |
---|---|
44 private: | 44 private: |
45 void SendHeaderInternal(Orthanc_HttpStatus status); | 45 void SendHeaderInternal(Orthanc_HttpStatus status); |
46 | 46 |
47 void SendOkHeader(const char* contentType, | 47 void SendOkHeader(const char* contentType, |
48 bool hasContentLength, | 48 bool hasContentLength, |
49 uint64_t contentLength); | 49 uint64_t contentLength, |
50 const char* contentFilename); | |
50 | 51 |
51 public: | 52 public: |
52 virtual ~HttpOutput() | 53 virtual ~HttpOutput() |
53 { | 54 { |
54 } | 55 } |
55 | 56 |
56 virtual void Send(const void* buffer, size_t length) = 0; | 57 virtual void Send(const void* buffer, size_t length) = 0; |
57 | 58 |
58 void SendString(const std::string& s); | |
59 | |
60 void SendOkHeader(); | |
61 | |
62 void SendOkHeader(uint64_t contentLength); | |
63 | |
64 void SendOkHeader(const std::string& contentType); | 59 void SendOkHeader(const std::string& contentType); |
65 | 60 |
66 void SendOkHeader(const std::string& contentType, | 61 void SendString(const std::string& s); |
67 uint64_t contentLength); | |
68 | 62 |
69 void SendMethodNotAllowedError(const std::string& allowed); | 63 void SendMethodNotAllowedError(const std::string& allowed); |
70 | 64 |
71 void SendHeader(Orthanc_HttpStatus status); | 65 void SendHeader(Orthanc_HttpStatus status); |
72 | 66 |
73 | 67 |
74 // Higher-level constructs to send entire files or buffers ------------------- | 68 // Higher-level constructs to send entire files or buffers ------------------- |
75 | 69 |
76 void AnswerBuffer(const std::string& buffer) | |
77 { | |
78 AnswerBufferWithContentType(buffer, ""); | |
79 } | |
80 | |
81 void AnswerBufferWithContentType(const std::string& buffer, | 70 void AnswerBufferWithContentType(const std::string& buffer, |
82 const std::string& contentType); | 71 const std::string& contentType); |
83 | 72 |
84 void AnswerBufferWithContentType(const void* buffer, | 73 void AnswerBufferWithContentType(const void* buffer, |
85 size_t size, | 74 size_t size, |
86 const std::string& contentType); | 75 const std::string& contentType); |
87 | 76 |
88 void AnswerFile(const std::string& path) | 77 void AnswerFileWithContentType(const std::string& path, |
89 { | 78 const std::string& contentType, |
90 AnswerFileWithContentType(path, ""); | 79 const char* filename = NULL); |
91 } | |
92 | 80 |
93 void AnswerFileWithContentType(const std::string& path, | 81 void AnswerFileAutodetectContentType(const std::string& path, |
94 const std::string& contentType); | 82 const char* filename = NULL); |
95 | |
96 void AnswerFileAutodetectContentType(const std::string& path); | |
97 | |
98 void AnswerFile(const FileStorage& storage, | |
99 const std::string& uuid) | |
100 { | |
101 AnswerFile(storage, uuid, ""); | |
102 } | |
103 | 83 |
104 void AnswerFile(const FileStorage& storage, | 84 void AnswerFile(const FileStorage& storage, |
105 const std::string& uuid, | 85 const std::string& uuid, |
106 const std::string& contentType); | 86 const std::string& contentType, |
87 const char* filename = NULL); | |
107 | 88 |
108 void Redirect(const std::string& path); | 89 void Redirect(const std::string& path); |
109 }; | 90 }; |
110 } | 91 } |