正在显示
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__ |
请
注册
或
登录
后发表评论