CkHttpRequest Perl Programming
Reference Documentation

CkHttpRequest

Represents a complete HTTP request.

Object Creation

$obj = new chilkat::CkHttpRequest();

Properties

# str is a CkString object (output)
get_Charset( str )

# charset is a string (input)
put_Charset( charset )

Controls the character encoding used for HTTP request parameters for POST requests. The default value is "utf-8". The charset should match the charset expected by the form target.

# str is a CkString object (output)
get_ContentType( str )

# newVal is a string (input)
put_ContentType( newVal )

To be documented soon...

# str is a CkString object (output)
get_EntireHeader( str )

# newVal is a string (input)
put_EntireHeader( newVal )

To be documented soon...

# str is a CkString object (output)
get_HttpVerb( str )

# newVal is a string (input)
put_HttpVerb( newVal )

To be documented soon...

# str is a CkString object (output)
get_HttpVersion( str )

# version is a string (input)
put_HttpVersion( version )

The HTTP version in the request header. Defaults to "1.1".

# str is a CkString object (output)
LastErrorHtml( str )

Error information in HTML format for the last method called.

# str is a CkString object (output)
LastErrorText( str )

Error information in plain-text format for the last method called.

# str is a CkString object (output)
LastErrorXml( str )

Error information in XML format for the last method called.

# Returns an integer value
get_NumHeaderFields( )

Returns the number of request header fields.

# Returns an integer value
get_NumParams( )

Returns the number of query parameters.

# str is a CkString object (output)
get_Path( str )

# path is a string (input)
put_Path( path )

The path of the resource requested. A path of "/" indicates the default document for a domain.

# Returns a boolean value
get_SendCharset( )

# val is a boolean (input)
put_SendCharset( val )

Controls whether the charset is explicitly included in the content-type header field of the HTTP POST request.

# Returns a boolean value
get_Utf8( )

# b is a boolean (input)
put_Utf8( b )

When set to true, all "const char *" arguments are expected to be utf-8 strings. If set to false, the "const char *" arguments are expected to be ANSI strings.

Methods

# name is a string (input)
# remoteFileName is a string (input)
# byteData is a CkByteData object (output)
# Returns a boolean value
AddBytesForUpload( name, remoteFileName, byteData )

Adds a file to an upload request where the contents of the file come from an in-memory byte array. To create a file upload request, call UseUpload and then call AddBytesForUpload, AddStringForUpload, or AddFileForUpload for each file to be uploaded.

name is an arbitrary name. (In HTML, it is the form field name of the input tag.)
remoteFileName is the name of the file to be created on the HTTP server.
byteData contains the contents (bytes) to be uploaded.

# name is a string (input)
# remoteFileName is a string (input)
# byteData is a CkByteData object (output)
# contentType is a string (input)
# Returns a boolean value
AddBytesForUpload2( name, remoteFileName, byteData, contentType )

Same as AddBytesForUpload, but allows the Content-Type header field to be directly specified. (Otherwise, the Content-Type header is automatically determined based on the remoteFileName's file extension.)

# name is a string (input)
# filePath is a string (input)
# Returns a boolean value
AddFileForUpload( name, filePath )

Adds a file to an upload request. To create a file upload request, call UseUpload and then call AddFileForUpload, AddBytesForUpload, or AddStringForUpload for each file to be uploaded. This method does not read the file into memory. When the upload occurs, the data is streamed directly from the file, thus allowing for very large files to be uploaded without consuming large amounts of memory.

name is an arbitrary name. (In HTML, it is the form field name of the input tag.)
filePath is the path to an existing file in the local filesystem.

# name is a string (input)
# filePath is a string (input)
# contentType is a string (input)
# Returns a boolean value
AddFileForUpload2( name, filePath, contentType )

Same as AddFileForUpload, but allows the Content-Type header field to be directly specified. (Otherwise, the Content-Type header is automatically determined based on the file extension.)

name is an arbitrary name. (In HTML, it is the form field name of the input tag.)
filePath is the path to an existing file in the local filesystem.

# name is a string (input)
# value is a string (input)
AddHeader( name, value )

Adds a request header to the HTTP request. If a header having the same field name is already present, this method replaces it.

Adding Cookies to an HTTP Request

# name is a string (input)
# value is a string (input)
AddParam( name, value )

Adds a request query parameter (name/value pair) to the HTTP request. The name and value strings passed to this method should not be URL encoded.

# name is a string (input)
# filename is a string (input)
# strData is a string (input)
# charset is a string (input)
# Returns a boolean value
AddStringForUpload( name, filename, strData, charset )

Same as AddFileForUpload, but the upload data comes from an in-memory string instead of a file.

# name is a string (input)
# filename is a string (input)
# strData is a string (input)
# charset is a string (input)
# contentType is a string (input)
# Returns a boolean value
AddStringForUpload2( name, filename, strData, charset, contentType )

Same as AddStringForUpload, but allows the Content-Type header field to be directly specified. (Otherwise, the Content-Type header is automatically determined based on the ARG2's file extension.)

# str is a CkString object (output)
GenerateRequestText( str )

Returns the request text that would be sent if Http.SynchronousRequest was called.

Returns 1 for success, 0 for failure.

# name is a string (input)
# str is a CkString object (output)
# Returns a boolean value
GetHeaderField( name, str )

Returns the value of a request header field.

Returns 1 for success, 0 for failure.

# index is an integer (input)
# str is a CkString object (output)
# Returns a boolean value
GetHeaderName( index, str )

Returns the Nth request header field name. Indexing begins at 0, and the number of request header fields is specified by the NumHeaderFields property.

Returns 1 for success, 0 for failure.

# index is an integer (input)
# str is a CkString object (output)
# Returns a boolean value
GetHeaderValue( index, str )

Returns the Nth request header field value. Indexing begins at 0, and the number of request header fields is specified by the NumHeaderFields property.

Returns 1 for success, 0 for failure.

# name is a string (input)
# str is a CkString object (output)
# Returns a boolean value
GetParam( name, str )

Returns a request query parameter value by name.

Returns 1 for success, 0 for failure.

# index is an integer (input)
# str is a CkString object (output)
# Returns a boolean value
GetParamName( index, str )

Returns the Nth request query parameter field name. Indexing begins at 0, and the number of request query parameter fields is specified by the NumParams property.

Returns 1 for success, 0 for failure.

# index is an integer (input)
# str is a CkString object (output)
# Returns a boolean value
GetParamValue( index, str )

Returns the Nth request query parameter field value. Indexing begins at 0, and the number of request query parameter fields is specified by the NumParams property.

Returns 1 for success, 0 for failure.

# outStr is a CkString object (output)
# Returns a boolean value
GetUrlEncodedParams( outStr )

To be documented soon.

Returns 1 for success, 0 for failure.

# byteData is a CkByteData object (output)
# Returns a boolean value
LoadBodyFromBytes( byteData )

The HTTP protocol is such that all HTTP requests are MIME. For non-multipart requests, this method may be called to set the MIME body of the HTTP request to the exact contents of the byteData.
Note: A non-multipart HTTP request consists of (1) the HTTP start line, (2) MIME header fields, and (3) the MIME body. This method sets the MIME body.

# filePath is a string (input)
# Returns a boolean value
LoadBodyFromFile( filePath )

The HTTP protocol is such that all HTTP requests are MIME. For non-multipart requests, this method may be called to set the MIME body of the HTTP request to the exact contents of filePath.
Note: A non-multipart HTTP request consists of (1) the HTTP start line, (2) MIME header fields, and (3) the MIME body. This method sets the MIME body.

# bodyStr is a string (input)
# charset is a string (input)
# Returns a boolean value
LoadBodyFromString( bodyStr, charset )

The HTTP protocol is such that all HTTP requests are MIME. For non-multipart requests, this method may be called to set the MIME body of the HTTP request to the exact contents of bodyStr.
Note: A non-multipart HTTP request consists of (1) the HTTP start line, (2) MIME header fields, and (3) the MIME body. This method sets the MIME body.

charset indicates the charset, such as "utf-8" or "iso-8859-1", to be used. The HTTP body will contain the bodyStr converted to this character encoding.

RemoveAllParams( )

Removes all request parameters.

# name is a string (input)
RemoveParam( name )

Removes a single HTTP request parameter by name.

# filename is a string (input)
# Returns a boolean value
SaveLastError( filename )

Saves the last error information to an XML formatted file.

# url is a string (input)
SetFromUrl( url )

Parses a URL and sets the Path and query parameters (NumParams, GetParam, GetParamName, GetParamValue).

# filename is a string (input)
# Returns a boolean value
StreamBodyFromFile( filename )

To be documented soon...

UseGet( )

Makes the HttpRequest a GET request.

UseHead( )

Makes the HttpRequest a HEAD request.

UsePost( )

Makes the HttpRequest a POST request that uses the "application/x-www-form-urlencoded" content type.

UsePostMultipartForm( )

Makes the HttpRequest a POST request that uses the "multipart/form-data" content type.

UsePut( )

Makes the HttpRequest a PUT request.

UseUpload( )

Makes the HttpRequest a POST request that uses the "multipart/form-data" content type. To create a file upload request, call UseUpload and then call AddFileForUpload for each file to be uploaded.

UseUploadPut( )

To be documented soon...

# xmlBody is a string (input)
UseXmlHttp( xmlBody )

Makes the HttpRequest a POST request using the "application/xml" content type. The request body is set to the XML string passed to this method.

# Returns a string
charset( )

Controls the character encoding used for HTTP request parameters for POST requests. The default value is "utf-8". The charset should match the charset expected by the form target.

Returns a null on failure

# Returns a string
contentType( )

To be documented soon...

# Returns a string
entireHeader( )

To be documented soon...

# Returns a string
generateRequestText( )

Returns the request text that would be sent if Http.SynchronousRequest was called.

Returns a null on failure

# name is a string (input)
# Returns a string
getHeaderField( name )

Returns the value of a request header field.

Returns a null on failure

# index is an integer (input)
# Returns a string
getHeaderName( index )

Returns the Nth request header field name. Indexing begins at 0, and the number of request header fields is specified by the NumHeaderFields property.

Returns a null on failure

# index is an integer (input)
# Returns a string
getHeaderValue( index )

Returns the Nth request header field value. Indexing begins at 0, and the number of request header fields is specified by the NumHeaderFields property.

Returns a null on failure

# name is a string (input)
# Returns a string
getParam( name )

Returns a request query parameter value by name.

Returns a null on failure

# index is an integer (input)
# Returns a string
getParamName( index )

Returns the Nth request query parameter field name. Indexing begins at 0, and the number of request query parameter fields is specified by the NumParams property.

Returns a null on failure

# index is an integer (input)
# Returns a string
getParamValue( index )

Returns the Nth request query parameter field value. Indexing begins at 0, and the number of request query parameter fields is specified by the NumParams property.

Returns a null on failure

# Returns a string
getUrlEncodedParams( )

To be documented soon.

Returns a null on failure

# Returns a string
httpVerb( )

To be documented soon...

# Returns a string
httpVersion( )

The HTTP version in the request header. Defaults to "1.1".

Returns a null on failure

# Returns a string
lastErrorHtml( )

Error information in HTML format for the last method called.

Returns a null on failure

# Returns a string
lastErrorText( )

Error information in plain-text format for the last method called.

Returns a null on failure

# Returns a string
lastErrorXml( )

Error information in XML format for the last method called.

Returns a null on failure

# Returns a string
path( )

The path of the resource requested. A path of "/" indicates the default document for a domain.

Returns a null on failure