正在显示
1 个修改的文件
包含
63 行增加
和
0 行删除
src/server/dmpfilterresponsedecorator.h
0 → 100644
1 | +/* | |
2 | + * @Author: your name | |
3 | + * @Date: 2021-04-26 15:33:40 | |
4 | + * @LastEditTime: 2021-04-26 15:33:42 | |
5 | + * @LastEditors: your name | |
6 | + * @Description: In User Settings Edit | |
7 | + * @FilePath: /dmapserver/src/server/dmpfilterresponsedecorator.h | |
8 | + */ | |
9 | +/************************************************************************** | |
10 | +* file: dmpfilterresponsedecorator.h | |
11 | + | |
12 | +* Author: wanzhongping | |
13 | +* Date: 2021-03-09 15:08:07 | |
14 | +* Email: zhongpingw@chinadci.com | |
15 | +* copyright: 广州城市信息研究所有限公司 | |
16 | +***************************************************************************/ | |
17 | + | |
18 | +#ifndef __dmpfilterresponsedecorator_h__ | |
19 | +#define __dmpfilterresponsedecorator_h__ | |
20 | + | |
21 | +#include "dmpserverresponse.h" | |
22 | +#include "dmpserverfilter.h" | |
23 | +#include <map> | |
24 | + | |
25 | +//装饰类,增加DmpServerResponse的过滤功能 | |
26 | +class DmpFilterResponseDecorator: public DmpServerResponse | |
27 | +{ | |
28 | + public: | |
29 | + | |
30 | + DmpFilterResponseDecorator( DmpServerFiltersMap filters, DmpServerResponse &response ); | |
31 | + | |
32 | + void SetHeader( const std::string &key, const std::string &value ) override { response_.SetHeader( key, value ); } | |
33 | + | |
34 | + void RemoveHeader( const std::string &key ) override { response_.RemoveHeader( key ); } | |
35 | + | |
36 | + std::string Header( const std::string &key ) const override { return response_.Header( key ); } | |
37 | + | |
38 | + ParameterMap Headers() const override { return response_.Headers(); } | |
39 | + | |
40 | + void setStatusCode( int code ) override { response_.setStatusCode( code ); } | |
41 | + | |
42 | + int statusCode() const override { return response_.statusCode(); } | |
43 | + | |
44 | + void SendError( int code, const std::string &message ) override { response_.SendError(code, message); } | |
45 | + | |
46 | + void Write(const std::string data) override; | |
47 | + | |
48 | + void WriteContent(const void * content, int length =0) override; | |
49 | + | |
50 | + void Start(); | |
51 | + | |
52 | + void Flush(); | |
53 | + | |
54 | + void Finish(); | |
55 | + | |
56 | + void Clear() override { response_.Clear(); } | |
57 | + | |
58 | + private: | |
59 | + DmpServerFiltersMap filters_; | |
60 | + DmpServerResponse &response_; | |
61 | +}; | |
62 | + | |
63 | +#endif //__dmpfilterresponsedecorator_h__ | ... | ... |
请
注册
或
登录
后发表评论