dmpserverrequest.h
2.4 KB
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
72
73
74
/*
* @Author: your name
* @Date: 2021-04-26 10:08:44
* @LastEditTime: 2021-04-26 13:37:44
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /dmapserver/src/server/dmpserverrequest.h
*/
/**************************************************************************
* file: dmpserverrequest.h
* Author: wanzhongping
* Date: 2021-01-07 17:34:30
* Email: zhongpingw@chinadci.com
* copyright: 广州城市信息研究所有限公司
***************************************************************************/
#ifndef __dmpserverrequest_h__
#define __dmpserverrequest_h__
#include "dmap_server.h"
#include <string>
#include <map>
#include "dmpserverparameters.h"
class SERVER_EXPORT DmpServerRequest
{
public:
typedef std::map<std::string, std::string> Headers;
enum Method {
GET_METHOD,
POST_METHOD
};
DmpServerRequest();
DmpServerRequest(const std::string &url, DmpServerRequest::Method method = DmpServerRequest::GET_METHOD, const DmpServerRequest::Headers &headers = DmpServerRequest::Headers());
std::string url() const { return url_; }
void set_url(const std::string &url);
Method method() const { return method_; }
void set_method(DmpServerRequest::Method method);
std::string protocol() const { return protocol_; }
std::string domain() const { return domain_; }
std::string port() const { return port_; }
std::string path() const { return path_; }
std::string query() const { return query_; }
void set_query(const std::string &query_string);
std::string header( const std::string &name ) const;
void set_header(const std::string &name, const std::string &value);
Headers headers() const { return headers_; }
DmpServerParameters ServerParameters() const { return params_; }
void SetParameter(const std::string &name, const std::string &value);
private:
Headers headers_;
DmpServerParameters params_;
std::string url_;
Method method_;
std::string protocol_;
std::string domain_;
std::string port_;
std::string path_;
std::string query_;
bool ParseUrl(const std::string& url,
std::string &protocol,
std::string &domain,
std::string &port,
std::string &path,
std::string &query_string);
};
#endif