blob: a73fdb0aeb5495c5946413c8344c3f279cd4bfce (
plain)
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
71
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_GOOGLE_APIS_TEST_SERVER_HTTP_RESPONSE_H_
#define CHROME_BROWSER_GOOGLE_APIS_TEST_SERVER_HTTP_RESPONSE_H_
#include <map>
#include <string>
#include "base/basictypes.h"
namespace google_apis {
namespace test_server {
enum ResponseCode {
SUCCESS = 200,
CREATED = 201,
NO_CONTENT = 204,
MOVED = 301,
RESUME_INCOMPLETE = 308,
NOT_FOUND = 404,
PRECONDITION = 412,
ACCESS_DENIED = 500,
};
// Respresents a HTTP response. Since it can be big, it may be better to use
// scoped_ptr to pass it instead of copying.
class HttpResponse {
public:
HttpResponse();
~HttpResponse();
// The response code.
ResponseCode code() const { return code_; }
void set_code(ResponseCode code) { code_ = code; }
// The content of the response.
const std::string& content() const { return content_; }
void set_content(const std::string& content) { content_ = content; }
// The content type.
const std::string& content_type() const { return content_type_; }
void set_content_type(const std::string& content_type) {
content_type_ = content_type;
}
// The custom headers to be sent to the client.
const std::map<std::string, std::string>& custom_headers() const {
return custom_headers_;
}
// Adds a custom header.
void AddCustomHeader(const std::string& key, const std::string& value) {
custom_headers_[key] = value;
}
// Generates and returns a http response string.
std::string ToResponseString() const;
private:
ResponseCode code_;
std::string content_;
std::string content_type_;
std::map<std::string, std::string> custom_headers_;
};
} // namespace test_servers
} // namespace google_apis
#endif // CHROME_BROWSER_GOOGLE_APIS_TEST_SERVER_HTTP_RESPONSE_H_
|