web_request.h

Go to the documentation of this file.
00001 
00002 #pragma once
00003 
00004 #include "../api_network.h"
00005 #include "../../Core/System/sharedptr.h"
00006 
00007 class CL_IODevice;
00008 class CL_DataBuffer;
00009 class CL_WebResponse;
00010 class CL_WebRequest_Impl;
00011 
00015 class CL_API_NETWORK CL_WebRequest
00016 {
00017 public:
00018         CL_WebRequest();
00019 
00020         static CL_WebRequest options(const CL_String &url);
00021         static CL_WebRequest get(const CL_String &url);
00022         static CL_WebRequest head(const CL_String &url);
00023         static CL_WebRequest post(const CL_String &url);
00024         static CL_WebRequest put(const CL_String &url);
00025         static CL_WebRequest http_delete(const CL_String &url);
00026         static CL_WebRequest trace(const CL_String &url);
00027 
00028         void set_header_field(const CL_String &name, const CL_String &value);
00029         void set_content_type(const CL_String &content_type);
00030 
00031         void set_body(const CL_DataBuffer &data);
00032         void set_body(const CL_String &data);
00033         void set_body(CL_IODevice data);
00034         void set_body(const void *data, int size);
00035         //CL_IODevice get_body_writer();
00036 
00037         CL_WebResponse get_response();
00038 
00039 private:
00040         CL_SharedPtr<CL_WebRequest_Impl> impl;
00041 };