@@ -17,6 +17,8 @@ mochios::Client::Client(const mochios::client::Connection &connection)
1717
1818 this ->connect ();
1919 close (this ->socket );
20+
21+ this ->interceptors .request .push_back (mochios::interceptor::userAgent);
2022 return ;
2123}
2224
@@ -30,37 +32,44 @@ mochios::Client::~Client() {
3032
3133mochios::message::Response
3234mochios::Client::get (mochios::message::Request &request) {
33- return this ->sendHelper (request, mochios::enums::method::GET);
35+ request.method = mochios::enums::method::GET;
36+ return this ->sendHelper (request);
3437}
3538
3639mochios::message::Response
3740mochios::Client::post (mochios::message::Request &request) {
38- return this ->sendHelper (request, mochios::enums::method::POST);
41+ request.method = mochios::enums::method::POST;
42+ return this ->sendHelper (request);
3943}
4044
4145mochios::message::Response
4246mochios::Client::put (mochios::message::Request &request) {
43- return this ->sendHelper (request, mochios::enums::method::PUT);
47+ request.method = mochios::enums::method::PUT;
48+ return this ->sendHelper (request);
4449}
4550
4651mochios::message::Response
4752mochios::Client::patch (mochios::message::Request &request) {
48- return this ->sendHelper (request, mochios::enums::method::PATCH);
53+ request.method = mochios::enums::method::PATCH;
54+ return this ->sendHelper (request);
4955}
5056
5157mochios::message::Response
5258mochios::Client::del (mochios::message::Request &request) {
53- return this ->sendHelper (request, mochios::enums::method::DELETE);
59+ request.method = mochios::enums::method::DELETE;
60+ return this ->sendHelper (request);
5461}
5562
5663mochios::message::Response
5764mochios::Client::options (mochios::message::Request &request) {
58- return this ->sendHelper (request, mochios::enums::method::OPTIONS);
65+ request.method = mochios::enums::method::OPTIONS;
66+ return this ->sendHelper (request);
5967}
6068
6169mochios::message::Response
6270mochios::Client::head (mochios::message::Request &request) {
63- return this ->sendHelper (request, mochios::enums::method::HEAD);
71+ request.method = mochios::enums::method::HEAD;
72+ return this ->sendHelper (request);
6473}
6574
6675void mochios::Client::connect () {
@@ -83,11 +92,20 @@ void mochios::Client::connect() {
8392}
8493
8594mochios::message::Response
86- mochios::Client::sendHelper (mochios::message::Request &request,
87- const mochios::enums::method &method) {
88- this ->connect ();
95+ mochios::Client::sendHelper (mochios::message::Request &request) {
8996 request.set (" Host" , this ->connection .host );
9097 request.set (" Accept" , " */*" );
9198 request.set (" Connection" , " close" );
92- return mochios::helpers::send (request, method, this ->socket );
99+ for (const std::function<void (mochios::message::Request &)>
100+ &requestIntercptor : this ->interceptors .request ) {
101+ requestIntercptor (request);
102+ }
103+ this ->connect ();
104+ mochios::message::Response res =
105+ mochios::helpers::send (request, this ->socket );
106+ for (const std::function<void (mochios::message::Response &)>
107+ &responseInterceptor : this ->interceptors .response ) {
108+ responseInterceptor (res);
109+ }
110+ return res;
93111}
0 commit comments