ClanLib  2.3.7
web_request.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "../api_network.h"
5 #include "../../Core/System/sharedptr.h"
6 
7 class CL_IODevice;
8 class CL_DataBuffer;
9 class CL_WebResponse;
10 class CL_WebRequest_Impl;
11 
16 {
17 public:
18  CL_WebRequest();
19 
20  static CL_WebRequest options(const CL_String &url);
21  static CL_WebRequest get(const CL_String &url);
22  static CL_WebRequest head(const CL_String &url);
23  static CL_WebRequest post(const CL_String &url);
24  static CL_WebRequest put(const CL_String &url);
25  static CL_WebRequest http_delete(const CL_String &url);
26  static CL_WebRequest trace(const CL_String &url);
27 
28  void set_header_field(const CL_String &name, const CL_String &value);
29  void set_content_type(const CL_String &content_type);
30 
31  void set_body(const CL_DataBuffer &data);
32  void set_body(const CL_String &data);
33  void set_body(CL_IODevice data);
34  void set_body(const void *data, int size);
35  //CL_IODevice get_body_writer();
36 
37  CL_WebResponse get_response();
38 
39 private:
40  CL_SharedPtr<CL_WebRequest_Impl> impl;
41 };