Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
70 lines (53 loc) · 1.53 KB

File metadata and controls

70 lines (53 loc) · 1.53 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef SRC_HTTPRESPONSE_HPP_
#define SRC_HTTPRESPONSE_HPP_
#include <Arduino.h>
#include <string>
// Arduino declares it's own min max, incompatible with the stl...
#undef min
#undef max
#undef write
#include <vector>
#include <openssl/ssl.h>
#include "util.hpp"
#include "ConnectionContext.hpp"
#include "HTTPHeaders.hpp"
#include "HTTPHeader.hpp"
namespace httpsserver {
/**
* \brief Represents the response stream of an HTTP request
*/
class HTTPResponse : public Print {
public:
HTTPResponse(ConnectionContext * con);
virtual ~HTTPResponse();
void setStatusCode(uint16_t statusCode);
void setStatusText(std::string const &statusText);
uint16_t getStatusCode();
std::string getStatusText();
void setHeader(std::string const &name, std::string const &value);
bool isHeaderWritten();
void printStd(std::string const &str);
// From Print:
size_t write(const uint8_t *buffer, size_t size);
size_t write(uint8_t);
void error();
bool isResponseBuffered();
void finalize();
ConnectionContext * _con;
private:
void printHeader();
void printInternal(const std::string &str, bool skipBuffer = false);
size_t writeBytesInternal(const void * data, int length, bool skipBuffer = false);
void drainBuffer(bool onOverflow = false);
uint16_t _statusCode;
std::string _statusText;
HTTPHeaders _headers;
bool _headerWritten;
bool _isError;
// Response cache
byte * _responseCache;
size_t _responseCacheSize;
size_t _responseCachePointer;
};
} /* namespace httpsserver */
#endif /* SRC_HTTPRESPONSE_HPP_ */
Morty Proxy This is a proxified and sanitized view of the page, visit original site.