@@ -105,6 +105,91 @@ happens on a different thread.
105
105
Member Functions
106
106
----------------
107
107
108
- .. FIXME show the table of publicly-accessible member functions.
109
-
108
+ In this section we assume that the following typedef is in effect:
109
+
110
+ .. code-block :: c++
111
+
112
+ typedef boost::network::http: :basic_client<
113
+ boost::network::http::tags: :http_default_8bit_udp_resolve
114
+ , 1
115
+ ,1
116
+ >
117
+ client;
118
+
119
+ Also, that code using the HTTP client will have use the following header:
120
+
121
+ .. code-block :: c++
122
+
123
+ #include <boost/network/include/http/client.hpp>
124
+
125
+ Constructors
126
+ ~~~~~~~~~~~~
127
+
128
+ The client implementation can be default constructed, or customized at
129
+ initialization.
130
+
131
+ ``client() ``
132
+ Default constructor.
133
+ ``client(client::cache_resolved) ``
134
+ Construct a client which caches resolved endpoints.
135
+ ``client(client::follow_redirects) ``
136
+ Construct a client which follows HTTP redirects. [# ]_
137
+ ``client(client::cache_resolved, client::follow_redirects), client(client::follow_redirects, client::cache_resolved) ``
138
+ Construct a client which caches resolved endpoints and follows HTTP
139
+ redirects. [# ]_
140
+
141
+ .. [# ] In Asynchronous Clients, redirects are not followed. This means the
142
+ response objects will contain whatever HTTP response was retrieved by the
143
+ client implementation.
144
+ .. [# ] In Asynchronous Clients, only caching resolved endpoints take effect.
145
+
146
+ HTTP Methods
147
+ ~~~~~~~~~~~~
148
+
149
+ The client implementation supports various HTTP methods. The following
150
+ constructs assume that a client has been properly constructed named ``client_ ``
151
+ and that there is an appropriately constructed request object named ``request_ ``
152
+ and that there is an appropriately constructed response object named
153
+ ``response_ `` like the following:
154
+
155
+ .. code-block :: c++
156
+
157
+ client client_();
158
+ client::request request_("http://cpp-netib.github.com/");
159
+ client::response response _;
160
+
161
+ ``response_ = client_.get(request_) ``
162
+ Perform an HTTP GET request.
163
+ ``response_ = client_.head(request_) ``
164
+ Perform an HTTP HEAD request.
165
+ ``response_ = client_.post(request_) ``
166
+ Perform an HTTP POST, use the data already set in the request object which
167
+ includes the headers, and the body.
168
+ ``response_ = client_.post(request_, body) ``
169
+ Body is a string of type ``boost::network::string<Tag>::type `` where ``Tag ``
170
+ is the HTTP Client's ``Tag ``. The default content-type used is
171
+ ``x-application/octet-stream ``.
172
+ ``response_ = client_.post(request_, content_type, body) ``
173
+ The body and content_type parameters are of type
174
+ ``boost::network::string<Tag>::type `` where ``Tag `` is the HTTP Client's
175
+ ``Tag ``. This uses the request object's other headers.
176
+ ``response_ = client_.put(request_) ``
177
+ Perform an HTTP PUT, use the data already set in the request object which
178
+ includes the headers, and the body.
179
+ ``response_ = client_.put(request_, body) ``
180
+ Body is a string of type ``boost::network::string<Tag>::type `` where ``Tag ``
181
+ is the HTTP Client's ``Tag ``. The default content-type used is
182
+ ``x-application/octet-stream ``.
183
+ ``response_ = client_.put(request_, content_type, body) ``
184
+ The body and content_type parameters are of type
185
+ ``boost::network::string<Tag>::type `` where ``Tag `` is the HTTP Client's
186
+ ``Tag ``. This uses the request object's other headers.
187
+ ``response_ = client_.delete_(request_) ``
188
+ Perform an HTTP DELETE request.
189
+
190
+ Client-Specific
191
+ ~~~~~~~~~~~~~~~
192
+
193
+ ``client_.clear_resolved_cache() ``
194
+ Clear the cache of resolved endpoints.
110
195
0 commit comments