[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/ZebZeb13/esp32_https_server/master/src/HTTPRequest.hpp [Back]  [Original]

#ifndef SRC_HTTPREQUEST_HPP_
#define SRC_HTTPREQUEST_HPP_

#include 
#include 

#include 

#include "ConnectionContext.hpp"
#include "HTTPNode.hpp"
#include "HTTPHeader.hpp"
#include "HTTPHeaders.hpp"
#include "ResourceParameters.hpp"
#include "util.hpp"

namespace httpsserver {

class HTTPRequest {
public:
	HTTPRequest(ConnectionContext * con, HTTPHeaders * headers, HTTPNode * resolvedNode, ResourceParameters * params, std::string requestString);
	virtual ~HTTPRequest();

	std::string getHeader(std::string name);
	void setHeader(std::string name, std::string value);
	HTTPNode * getResolvedNode();
	std::string getRequestString();
	std::string getMethod();
	std::string getTag();

	size_t readChars(char * buffer, size_t length);
	size_t readBytes(byte * buffer, size_t length);
	size_t getContentLength();
	bool   requestComplete();
	void   discardRequestBody();
	ResourceParameters * getParams();
	std::string getBasicAuthUser();
	std::string getBasicAuthPassword();
	bool   isSecure();
	void setWebsocketHandler(WebsocketHandler *wsHandler);
	
private:
	std::string decodeBasicAuthToken();

	ConnectionContext * _con;

	HTTPHeaders * _headers;

	HTTPNode * _resolvedNode;

	ResourceParameters * _params;

	std::string _requestString;

	bool _contentLengthSet;
	size_t _remainingContent;
};

} /* namespace httpsserver */

#endif /* SRC_HTTPREQUEST_HPP_ */

Web Proxy Viewer  |  New URL  |  Original Page