cocos2d-x  3.5
 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
 This sub class is just for migration SEL_CallFuncND to SEL_HttpResponse,someday this way will be removed. More...
 

Public Types

enum  Type {
  GET, POST, PUT, DELETE,
  UNKNOWN
}
 The HttpRequest type enum used in the HttpRequest::setRequestType. More...
 

Public Member Functions

 HttpRequest ()
 Constructor. More...
 
virtual ~HttpRequest ()
 Destructor. More...
 
var ~HttpRequest ()
 Destructor. More...
 
Refautorelease (void)
 Override autorelease method to avoid developers to call it. More...
 
var autorelease ()
 Override autorelease method to avoid developers to call it. More...
 
void setRequestType (Type type)
 Set request type of HttpRequest object before being sent,now it support the enum value of HttpRequest::Type. More...
 
Type getRequestType ()
 Get the request type of HttpRequest object. More...
 
void setUrl (const char *url)
 Set the url address of HttpRequest object. More...
 
const char * getUrl ()
 Get the url address of HttpRequest object. More...
 
void setRequestData (const char *buffer, size_t len)
 Set the request data of HttpRequest object. More...
 
var setRequestData ( var buffer, var len)
 Set the request data of HttpRequest object. More...
 
char * getRequestData ()
 Get the request data pointer of HttpRequest object. More...
 
var getRequestData ()
 Get the request data pointer of HttpRequest object. More...
 
ssize_t getRequestDataSize ()
 Get the size of request data. More...
 
var getRequestDataSize ()
 Get the size of request data. More...
 
void setTag (const char *tag)
 Set a string tag to identify your request. More...
 
const char * getTag ()
 Get the string tag to identify the request. More...
 
var getTag ()
 Get the string tag to identify the request. More...
 
void setUserData (void *pUserData)
 Set user-customed data of HttpRequest object. More...
 
void * getUserData ()
 Get the user-customed data pointer which were pre-setted. More...
 
var getUserData ()
 Get the user-customed data pointer which were pre-setted. More...
 
void setResponseCallback (Ref *pTarget, SEL_CallFuncND pSelector)
 Set the target and related callback selector. More...
 
void setResponseCallback (Ref *pTarget, SEL_HttpResponse pSelector)
 Set the target and related callback selector of HttpRequest object. More...
 
void setResponseCallback (const ccHttpRequestCallback &callback)
 Set response callback function of HttpRequest object. More...
 
RefgetTarget ()
 Get the target of callback selector funtion, mainly used by HttpClient. More...
 
_prxy getSelector ()
 Get _prxy object by the _pSelector. More...
 
var getSelector ()
 Get _prxy object by the _pSelector. More...
 
const ccHttpRequestCallbackgetCallback ()
 Get ccHttpRequestCallback callback function. More...
 
void setHeaders (std::vector< std::string > pHeaders)
 Set custom-defined headers. More...
 
var setHeaders ( var pHeaders)
 Set custom-defined 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 ()
 Destructor. More...
 

Protected Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 
 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

The HttpRequest type enum used in the HttpRequest::setRequestType.

Enumerator
GET 
POST 
PUT 
DELETE 
UNKNOWN 
var Type
strong

The HttpRequest type enum used in the HttpRequest::setRequestType.

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.

var 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.

var ~HttpRequest ( )
inlinevirtual

Destructor.

Member Function Documentation

Ref* autorelease ( void  )
inline

Override autorelease method to avoid developers to call it.

If this function was called, it would trigger assert in debug mode

Returns
Ref* always return nullptr.
var autorelease (   )
inline

Override autorelease method to avoid developers to call it.

If this function was called, it would trigger assert in debug mode

Returns
Ref* always return nullptr.
const ccHttpRequestCallback&
getCallback
( )
inline

Get ccHttpRequestCallback callback function.

Returns
const ccHttpRequestCallback& ccHttpRequestCallback callback function.
var getCallback ( )
inline

Get ccHttpRequestCallback callback function.

Returns
const ccHttpRequestCallback& ccHttpRequestCallback callback function.
std::vector<std::string> getHeaders ( )
inline

Get custom headers.

Returns
std::vector<std::string> the string vector of custom-defined headers.
var getHeaders ( )
inline

Get custom headers.

Returns
std::vector<std::string> the string vector of custom-defined headers.
char* getRequestData ( )
inline

Get the request data pointer of HttpRequest object.

Returns
char* the request data pointer.
var getRequestData ( )
inline

Get the request data pointer of HttpRequest object.

Returns
char* the request data pointer.
ssize_t getRequestDataSize ( )
inline

Get the size of request data.

Returns
ssize_t the size of request data
var getRequestDataSize ( )
inline

Get the size of request data.

Returns
ssize_t the size of request data
Type getRequestType ( )
inline

Get the request type of HttpRequest object.

Returns
HttpRequest::Type.
var getRequestType ( )
inline

Get the request type of HttpRequest object.

Returns
HttpRequest::Type.
_prxy getSelector ( )
inline

Get _prxy object by the _pSelector.

Returns
_prxy the _prxy object
var getSelector ( )
inline

Get _prxy object by the _pSelector.

Returns
_prxy the _prxy object
const char* getTag ( )
inline

Get the string tag to identify the request.

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

Returns
const char* the pointer of _tag
var getTag ( )
inline

Get the string tag to identify the request.

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

Returns
const char* the pointer of _tag
Ref* getTarget ( )
inline

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

Returns
Ref* the target of callback selector funtion
var getTarget ( )
inline

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

Returns
Ref* the target of callback selector funtion
const char* getUrl ( )
inline

Get the url address of HttpRequest object.

Returns
const char* the pointer of _url.
var getUrl ( )
inline

Get the url address of HttpRequest object.

Returns
const char* the pointer of _url.
void* getUserData ( )
inline

Get the user-customed data pointer which were pre-setted.

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

Returns
void* the pointer of user-customed data.
var getUserData ( )
inline

Get the user-customed data pointer which were pre-setted.

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

Returns
void* the pointer of user-customed data.
void setHeaders ( std::vector< std::string >  pHeaders)
inline

Set custom-defined headers.

Parameters
pHeadersthe string vector of custom-defined headers.
var setHeaders ( var  pHeaders)
inline

Set custom-defined headers.

Parameters
pHeadersthe string vector of custom-defined headers.
void setRequestData ( const char *  buffer,
size_t  len 
)
inline

Set the request data of HttpRequest object.

Parameters
bufferthe buffer of request data, it support binary data.
lenthe size of request data.
var setRequestData ( var  buffer,
var  len 
)
inline

Set the request data of HttpRequest object.

Parameters
bufferthe buffer of request data, it support binary data.
lenthe size of request data.
void setRequestType ( Type  type)
inline

Set request type of HttpRequest object before being sent,now it support the enum value of HttpRequest::Type.

Parameters
typethe request type.
var setRequestType ( var  type)
inline

Set request type of HttpRequest object before being sent,now it support the enum value of HttpRequest::Type.

Parameters
typethe request type.
void setResponseCallback ( Ref pTarget,
SEL_CallFuncND  pSelector 
)
inline

Set the target and related callback selector.

When response come back, it would call (pTarget->*pSelector) to process something.

Parameters
pTargetthe target object pointer.
pSelectorthe callback function.
var setResponseCallback ( var  pTarget,
var  pSelector 
)
inline

Set the target and related callback selector.

When response come back, it would call (pTarget->*pSelector) to process something.

Parameters
pTargetthe target object pointer.
pSelectorthe callback function.
void setResponseCallback ( Ref pTarget,
SEL_HttpResponse  pSelector 
)
inline

Set the target and related callback selector of HttpRequest object.

When response come back, we would call (pTarget->*pSelector) to process response data.

Parameters
pTargetthe target object pointer.
pSelectorthe SEL_HttpResponse function.
var setResponseCallback ( var  pTarget,
var  pSelector 
)
inline

Set the target and related callback selector of HttpRequest object.

When response come back, we would call (pTarget->*pSelector) to process response data.

Parameters
pTargetthe target object pointer.
pSelectorthe SEL_HttpResponse function.
void setResponseCallback ( const ccHttpRequestCallback callback)
inline

Set response callback function of HttpRequest object.

When response come back, we would call _pCallback to process response data.

Parameters
callbackthe ccHttpRequestCallback function.
var setResponseCallback ( var  callback)
inline

Set response callback function of HttpRequest object.

When response come back, we would call _pCallback to process response data.

Parameters
callbackthe ccHttpRequestCallback function.
void setTag ( const char *  tag)
inline

Set a string tag to identify your request.

This tag can be found in HttpResponse->getHttpRequest->getTag().

Parameters
tagthe string pointer
var setTag ( var  tag)
inline

Set a string tag to identify your request.

This tag can be found in HttpResponse->getHttpRequest->getTag().

Parameters
tagthe string pointer
void setUrl ( const char *  url)
inline

Set the url address of HttpRequest object.

The url value could be like these: "http://httpbin.org/ip" or "https://httpbin.org/get"

Parameters
urlthe string pointer.
var setUrl ( var  url)
inline

Set the url address of HttpRequest object.

The url value could be like these: "http://httpbin.org/ip" or "https://httpbin.org/get"

Parameters
urlthe string pointer.
void setUserData ( void *  pUserData)
inline

Set user-customed data of HttpRequest object.

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.

Parameters
pUserDatathe string pointer
var setUserData ( var  pUserData)
inline

Set user-customed data of HttpRequest object.

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.

Parameters
pUserDatathe string pointer

Member Data Documentation

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

You can add your customed data here.

var _headers
protected

You can add your customed data here.

ccHttpRequestCallback _pCallback
protected

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

var _pCallback
protected

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

SEL_HttpResponse _pSelector
protected

callback target of pSelector function

var _pSelector
protected

callback target of pSelector function

Ref* _pTarget
protected

user defined tag, to identify different requests in response callback

var _pTarget
protected

user defined tag, to identify different requests in response callback

void* _pUserData
protected

C++11 style callbacks.

var _pUserData
protected

C++11 style callbacks.

std::vector<char> _requestData
protected

target url that this request is sent to

var _requestData
protected

target url that this request is sent to

Type _requestType
protected
var _requestType
protected
std::string _tag
protected

used for POST

var _tag
protected

used for POST

std::string _url
protected

kHttpRequestGet, kHttpRequestPost or other enums

var _url
protected

kHttpRequestGet, kHttpRequestPost or other enums


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