ppsspp/ext/native/net/http_headers.h
Unknown W. Brackets 1cc49f3be4 http: Allow retrieving other headers.
Such as range request headers, accept headers, cookies, etc.
2016-05-26 18:16:39 -07:00

53 lines
1.0 KiB
C++

#ifndef _NET_HTTP_HTTP_HEADERS
#define _NET_HTTP_HTTP_HEADERS
#include <string>
#include <unordered_map>
#include "base/buffer.h"
namespace net {
class InputSink;
};
namespace http {
class RequestHeader {
public:
RequestHeader();
~RequestHeader();
// Public variables since it doesn't make sense
// to bother with accessors for all these.
int status;
// Intentional misspelling.
char *referer;
char *user_agent;
char *resource;
char *params;
int content_length;
std::unordered_map<std::string, std::string> other;
enum RequestType {
SIMPLE, FULL,
};
RequestType type;
enum Method {
GET,
HEAD,
POST,
UNSUPPORTED,
};
Method method;
bool ok;
void ParseHeaders(net::InputSink *sink);
bool GetParamValue(const char *param_name, std::string *value) const;
bool GetOther(const char *name, std::string *value) const;
private:
int ParseHttpHeader(const char *buffer);
bool first_header_;
DISALLOW_COPY_AND_ASSIGN(RequestHeader);
};
} // namespace http
#endif