正在显示
1 个修改的文件
包含
76 行增加
和
0 行删除
src/server/dmpspserverresponse.cpp
0 → 100644
1 | +/************************************************************************** | ||
2 | +* file: dmpspserverresponse.cpp | ||
3 | + | ||
4 | +* Author: wanzhongping | ||
5 | +* Date: 2021-01-14 18:14:57 | ||
6 | +* Email: zhongpingw@chinadci.com | ||
7 | +* copyright: 广州城市信息研究所有限公司 | ||
8 | +***************************************************************************/ | ||
9 | +#include "dmpspserverresponse.h" | ||
10 | +#include "dmplogger.h" | ||
11 | +#include <boost/format.hpp> | ||
12 | + | ||
13 | +DmpSpServerResponse::DmpSpServerResponse(SP_HttpResponse* response) | ||
14 | +{ | ||
15 | + sp_response_ = response; | ||
16 | + Clear(); | ||
17 | +} | ||
18 | + | ||
19 | +void DmpSpServerResponse::SetHeader(const std::string &key, const std::string &value) | ||
20 | +{ | ||
21 | + sp_response_->addHeader(key.c_str(), value.c_str()); | ||
22 | +} | ||
23 | + | ||
24 | +void DmpSpServerResponse::RemoveHeader(const std::string &key) | ||
25 | +{ | ||
26 | + sp_response_->removeHeader(key.c_str()); | ||
27 | +} | ||
28 | + | ||
29 | +std::string DmpSpServerResponse::Header(const std::string &key) const | ||
30 | +{ | ||
31 | + return sp_response_->getHeaderValue(key.c_str()); | ||
32 | +} | ||
33 | + | ||
34 | +ParameterMap DmpSpServerResponse::Headers() const | ||
35 | +{ | ||
36 | + ParameterMap headers; | ||
37 | + for(int i = 0; i < sp_response_->getHeaderCount(); i++) { | ||
38 | + headers[sp_response_->getHeaderName(i)] = sp_response_->getHeaderValue(i); | ||
39 | + } | ||
40 | + return headers; | ||
41 | +} | ||
42 | + | ||
43 | +int DmpSpServerResponse::statusCode() const | ||
44 | +{ | ||
45 | + return sp_response_->getStatusCode(); | ||
46 | +} | ||
47 | +void DmpSpServerResponse::setStatusCode(int code) | ||
48 | +{ | ||
49 | + sp_response_->setStatusCode(code); | ||
50 | +} | ||
51 | + | ||
52 | +void DmpSpServerResponse::Write(const std::string data) | ||
53 | +{ | ||
54 | + sp_response_->appendContent(data.c_str(),data.size()); | ||
55 | +} | ||
56 | + | ||
57 | +void DmpSpServerResponse::WriteContent(const void * content, int length) | ||
58 | +{ | ||
59 | + sp_response_->appendContent(content, length); | ||
60 | +} | ||
61 | + | ||
62 | +void DmpSpServerResponse::SendError(int code, const std::string &message) | ||
63 | +{ | ||
64 | + Clear(); | ||
65 | + setStatusCode(code); | ||
66 | + SetHeader("Content-Type", "text/html;charset=utf-8"); | ||
67 | + Write(message); | ||
68 | +} | ||
69 | + | ||
70 | +void DmpSpServerResponse::Clear() | ||
71 | +{ | ||
72 | + for(int i=0; i< sp_response_->getHeaderCount(); i++) | ||
73 | + { | ||
74 | + sp_response_->removeHeader(i); | ||
75 | + } | ||
76 | +} |
请
注册
或
登录
后发表评论