2016-01-18 15:33:29 +00:00
|
|
|
// Copyright (c) 2011-2016 The Cryptonote developers
|
2015-04-23 16:07:22 +00:00
|
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
2014-09-15 12:46:31 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
#include <map>
|
|
|
|
#include <string>
|
|
|
|
|
2015-05-27 12:08:46 +00:00
|
|
|
namespace CryptoNote {
|
2014-09-15 12:46:31 +00:00
|
|
|
class HttpRequest {
|
|
|
|
public:
|
|
|
|
typedef std::map<std::string, std::string> Headers;
|
|
|
|
|
|
|
|
const std::string& getMethod() const;
|
|
|
|
const std::string& getUrl() const;
|
|
|
|
const Headers& getHeaders() const;
|
|
|
|
const std::string& getBody() const;
|
|
|
|
|
|
|
|
void addHeader(const std::string& name, const std::string& value);
|
|
|
|
void setBody(const std::string& b);
|
|
|
|
void setUrl(const std::string& uri);
|
|
|
|
|
|
|
|
private:
|
|
|
|
friend class HttpParser;
|
|
|
|
|
|
|
|
std::string method;
|
|
|
|
std::string url;
|
|
|
|
Headers headers;
|
|
|
|
std::string body;
|
|
|
|
|
|
|
|
friend std::ostream& operator<<(std::ostream& os, const HttpRequest& resp);
|
|
|
|
std::ostream& printHttpRequest(std::ostream& os) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
inline std::ostream& operator<<(std::ostream& os, const HttpRequest& resp) {
|
|
|
|
return resp.printHttpRequest(os);
|
|
|
|
}
|
2015-05-27 12:08:46 +00:00
|
|
|
}
|