cocos2d-x  3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HttpRequest Class Reference

defines the object which users must packed for HttpClient::send(HttpRequest*) method. More...

#include <HttpRequest.h>

Inheritance diagram for HttpRequest:
Ref

Classes

class  _prxy
 

Public Types

enum  Type {
  GET, POST, PUT, DELETE,
  UNKNOWN
}
 Use this enum type as param in setReqeustType(param) More...
 

Public Member Functions

 HttpRequest ()
 Constructor Because HttpRequest object will be used between UI thead and network thread, requestObj->autorelease() is forbidden to avoid crashes in AutoreleasePool new/retain/release still works, which means you need to release it manually Please refer to HttpRequestTest.cpp to find its usage. More...
 
virtual ~HttpRequest ()
 Destructor. More...
 
Refautorelease (void)
 Override autorelease method to avoid developers to call it. More...
 
void setRequestType (Type type)
 Required field for HttpRequest object before being sent. More...
 
Type getRequestType ()
 Get back the kHttpGet/Post/... More...
 
void setUrl (const char *url)
 Required field for HttpRequest object before being sent. More...
 
const char * getUrl ()
 Get back the setted url. More...
 
void setRequestData (const char *buffer, size_t len)
 Option field. More...
 
char * getRequestData ()
 Get the request data pointer back. More...
 
ssize_t getRequestDataSize ()
 Get the size of request data back. More...
 
void setTag (const char *tag)
 Option field. More...
 
const char * getTag ()
 Get the string tag back to identify the request. More...
 
void setUserData (void *pUserData)
 Option field. More...
 
void * getUserData ()
 Get the pre-setted custom data pointer back. More...
 
void setResponseCallback (Ref *pTarget, SEL_CallFuncND pSelector)
 Required field. More...
 
void setResponseCallback (Ref *pTarget, SEL_HttpResponse pSelector)
 
void setResponseCallback (const ccHttpRequestCallback &callback)
 
RefgetTarget ()
 Get the target of callback selector funtion, mainly used by HttpClient. More...
 
_prxy getSelector ()
 Get the selector function pointer, mainly used by HttpClient. More...
 
const ccHttpRequestCallbackgetCallback ()
 
void setHeaders (std::vector< std::string > pHeaders)
 Set any custom headers. More...
 
std::vector< std::string > getHeaders ()
 Get custom headers. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 NA NA More...
 

Protected Attributes

Type _requestType
 
std::string _url
 kHttpRequestGet, kHttpRequestPost or other enums More...
 
std::vector< char > _requestData
 target url that this request is sent to More...
 
std::string _tag
 used for POST More...
 
Ref_pTarget
 user defined tag, to identify different requests in response callback More...
 
SEL_HttpResponse _pSelector
 callback target of pSelector function More...
 
ccHttpRequestCallback _pCallback
 callback function, e.g. MyLayer::onHttpResponse(HttpClient *sender, HttpResponse * response) More...
 
void * _pUserData
 C++11 style callbacks. More...
 
std::vector< std::string > _headers
 You can add your customed data here. More...
 
- Protected Attributes inherited from Ref
unsigned int _referenceCount
 count of references More...
 

Additional Inherited Members

- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 

Detailed Description

defines the object which users must packed for HttpClient::send(HttpRequest*) method.

Please refer to tests/test-cpp/Classes/ExtensionTest/NetworkTest/HttpClientTest.cpp as a sample

Since
v2.0.2

Member Enumeration Documentation

enum Type
strong

Use this enum type as param in setReqeustType(param)

Enumerator
GET 
POST 
PUT 
DELETE 
UNKNOWN 

Constructor & Destructor Documentation

HttpRequest ( )
inline

Constructor Because HttpRequest object will be used between UI thead and network thread, requestObj->autorelease() is forbidden to avoid crashes in AutoreleasePool new/retain/release still works, which means you need to release it manually Please refer to HttpRequestTest.cpp to find its usage.

virtual ~HttpRequest ( )
inlinevirtual

Destructor.

Member Function Documentation

Ref* autorelease ( void  )
inline

Override autorelease method to avoid developers to call it.

const ccHttpRequestCallback& getCallback ( )
inline
std::vector<std::string> getHeaders ( )
inline

Get custom headers.

char* getRequestData ( )
inline

Get the request data pointer back.

ssize_t getRequestDataSize ( )
inline

Get the size of request data back.

Type getRequestType ( )
inline

Get back the kHttpGet/Post/...

enum value

_prxy getSelector ( )
inline

Get the selector function pointer, mainly used by HttpClient.

const char* getTag ( )
inline

Get the string tag back to identify the request.

The best practice is to use it in your MyClass::onMyHttpRequestCompleted(sender, HttpResponse*) callback

Ref* getTarget ( )
inline

Get the target of callback selector funtion, mainly used by HttpClient.

const char* getUrl ( )
inline

Get back the setted url.

void* getUserData ( )
inline

Get the pre-setted custom data pointer back.

Don't forget to delete it. HttpClient/HttpResponse/HttpRequest will do nothing with this pointer

void setHeaders ( std::vector< std::string >  pHeaders)
inline

Set any custom headers.

void setRequestData ( const char *  buffer,
size_t  len 
)
inline

Option field.

You can set your post data here

void setRequestType ( Type  type)
inline

Required field for HttpRequest object before being sent.

kHttpGet & kHttpPost is currently supported

void setResponseCallback ( Ref pTarget,
SEL_CallFuncND  pSelector 
)
inline

Required field.

You should set the callback selector function at ack the http request completed

void setResponseCallback ( Ref pTarget,
SEL_HttpResponse  pSelector 
)
inline
void setResponseCallback ( const ccHttpRequestCallback callback)
inline
void setTag ( const char *  tag)
inline

Option field.

You can set a string tag to identify your request, this tag can be found in HttpResponse->getHttpRequest->getTag()

void setUrl ( const char *  url)
inline

Required field for HttpRequest object before being sent.

void setUserData ( void *  pUserData)
inline

Option field.

You can attach a customed data in each request, and get it back in response callback. But you need to new/delete the data pointer manully

Member Data Documentation

std::vector<std::string> _headers
protected

You can add your customed data here.

ccHttpRequestCallback _pCallback
protected

callback function, e.g. MyLayer::onHttpResponse(HttpClient *sender, HttpResponse * response)

SEL_HttpResponse _pSelector
protected

callback target of pSelector function

Ref* _pTarget
protected

user defined tag, to identify different requests in response callback

void* _pUserData
protected

C++11 style callbacks.

std::vector<char> _requestData
protected

target url that this request is sent to

Type _requestType
protected
std::string _tag
protected

used for POST

std::string _url
protected

kHttpRequestGet, kHttpRequestPost or other enums


The documentation for this class was generated from the following file: