api.hpp
1 #ifndef XXHR_API_H
2 #define XXHR_API_H
3 
4 #include <functional>
5 #include <string>
6 
7 #include "auth.hpp"
8 #include "xxhrtypes.hpp"
9 #include "defines.hpp"
10 #include "digest.hpp"
11 #include "multipart.hpp"
12 #include "response.hpp"
13 #include "session.hpp"
14 #include "handler.hpp"
15 
19 namespace xxhr {
20 
21  namespace priv {
22 
23  template <typename T>
24  void set_option(Session& session, T&& t) {
25  session.SetOption(XXHR_FWD(t));
26  }
27 
28  template <typename T, typename... Ts>
29  void set_option(Session& session, T&& t, Ts&&... ts) {
30  set_option(session, XXHR_FWD(t));
31  set_option(session, XXHR_FWD(ts)...);
32  }
33 
34  } // namespace priv
35 
39 template <typename... Ts>
40 void GET(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.GET(); }
41 
45 template <typename... Ts>
46 void POST(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.POST(); }
47 
51 template <typename... Ts>
52 void PUT(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.PUT(); }
53 
57 template <typename... Ts>
58 void HEAD(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.HEAD(); }
59 
63 template <typename... Ts>
64 void DELETE_(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.DELETE_(); }
65 
69 template <typename... Ts>
70 void OPTIONS(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.OPTIONS(); }
71 
75 template <typename... Ts>
76 void PATCH(Ts&&... ts) { Session session; priv::set_option(session, XXHR_FWD(ts)...); session.PATCH(); }
77 
78 } // namespace xxhr
79 
80 #endif
main library namespace
Definition: api.hpp:19
void GET(Ts &&...ts)
HTTP GET Request.
Definition: api.hpp:40
void OPTIONS(Ts &&...ts)
HTTP OPTIONS Request.
Definition: api.hpp:70
void PUT(Ts &&...ts)
HTTP PUT Request.
Definition: api.hpp:52
void DELETE_(Ts &&...ts)
HTTP DELETE Request.
Definition: api.hpp:64
void HEAD(Ts &&...ts)
HTTP HEAD Request.
Definition: api.hpp:58
void PATCH(Ts &&...ts)
HTTP PATCH Request.
Definition: api.hpp:76
void POST(Ts &&...ts)
HTTP POST Request.
Definition: api.hpp:46