/*
- +----------------------------------------------------------------------+
- | PECL :: http |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, that |
- | is bundled with this package in the file LICENSE, and is available |
- | through the world-wide-web at http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Copyright (c) 2004-2005 Michael Wallner <mike@php.net> |
- +----------------------------------------------------------------------+
+ +--------------------------------------------------------------------+
+ | PECL :: http |
+ +--------------------------------------------------------------------+
+ | Redistribution and use in source and binary forms, with or without |
+ | modification, are permitted provided that the conditions mentioned |
+ | in the accompanying LICENSE file are met. |
+ +--------------------------------------------------------------------+
+ | Copyright (c) 2004-2005, Michael Wallner <mike@php.net> |
+ +--------------------------------------------------------------------+
*/
/* $Id$ */
}
/* }}} */
-/* {{{ proto void http_throttle(double sec[, int bytes = 2097152])
+/* {{{ proto void http_throttle(double sec[, int bytes = 40960])
*
* Sets the throttle delay and send buffer size for use with http_send() API.
* Provides a basic throttling mechanism, which will yield the current process
* - compress: bool, whether to allow gzip/deflate content encoding
* (defaults to true)
* - port: int, use another port as specified in the url
- * - referer: string, the referer to sends
+ * - referer: string, the referer to send
* - useragent: string, the user agent to send
* (defaults to PECL::HTTP/version (PHP/version)))
* - headers: array, list of custom headers as associative array
{
char *method;
int method_len;
- unsigned long existing;
+ ulong existing;
if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &method, &method_len)) {
RETURN_FALSE;
if (is_numeric_string(Z_STRVAL_P(method), Z_STRLEN_P(method), NULL, NULL, 1)) {
convert_to_long(method);
} else {
- unsigned long mn;
+ ulong mn;
if (!(mn = http_request_method_exists(1, 0, Z_STRVAL_P(method)))) {
RETURN_FALSE;
}
RETURN_FALSE;
}
- RETURN_STRING(estrdup(http_request_method_name((unsigned long) method)), 0);
+ RETURN_STRING(estrdup(http_request_method_name((ulong) method)), 0);
}
}
/* }}} */
int prefix_len = 0, arg_sep_len = strlen(arg_sep);
phpstr *formstr;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|ss", &formdata, &prefix, &prefix_len, &arg_sep, &arg_sep_len) != SUCCESS) {
- RETURN_FALSE;
- }
-
- if (Z_TYPE_P(formdata) != IS_ARRAY && Z_TYPE_P(formdata) != IS_OBJECT) {
- http_error(HE_WARNING, HTTP_E_INVALID_PARAM, "Parameter 1 expected to be Array or Object. Incorrect value given.");
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|ss", &formdata, &prefix, &prefix_len, &arg_sep, &arg_sep_len) != SUCCESS) {
RETURN_FALSE;
}
if (!arg_sep_len) {
arg_sep = HTTP_URL_ARGSEP;
+ arg_sep_len = lenof(HTTP_URL_ARGSEP);
}
formstr = phpstr_new();
- if (SUCCESS != http_urlencode_hash_implementation_ex(HASH_OF(formdata), formstr, arg_sep, prefix, prefix_len, NULL, 0, NULL, 0, (Z_TYPE_P(formdata) == IS_OBJECT ? formdata : NULL))) {
+ if (SUCCESS != http_urlencode_hash_recursive(HASH_OF(formdata), formstr, arg_sep, arg_sep_len, prefix, prefix_len)) {
phpstr_free(&formstr);
RETURN_FALSE;
}
*
* Accpepts an optional in parameter specifying which feature to probe for.
* If the parameter is 0 or omitted, the return value contains a bitmask of
- * all supported featuers that depend on external libraries.
+ * all supported features that depend on external libraries.
*
* Available features to probe for are:
- * - HTTP_SUPPORT: always set
- * - HTTP_SUPPORT_REQUESTS: whether ext/http was linked against libcurl,
- * and HTTP requests can be issued
- * - HTTP_SUPPORT_SSLREQUESTS: whether libcurl was linked against openssl,
- * and SSL requests can be issued
- * - HTTP_SUPPORT_ENCODINGS: whether ext/http was linked against zlib,
- * and compressed HTTP responses can be decoded
- * - HTTP_SUPPORT_MHASHETAGS: whether ext/http was linked against libmhash,
- * and ETags can be generated with the available mhash algorithms
- * - HTTP_SUPPORT_MAGICMIME: whether ext/http was linked against libmagic,
- * and the HttpResponse::guessContentType() method is usable
+ * <ul>
+ * <li> HTTP_SUPPORT: always set
+ * <li> HTTP_SUPPORT_REQUESTS: whether ext/http was linked against libcurl,
+ * and HTTP requests can be issued
+ * <li> HTTP_SUPPORT_SSLREQUESTS: whether libcurl was linked against openssl,
+ * and SSL requests can be issued
+ * <li> HTTP_SUPPORT_ENCODINGS: whether ext/http was linked against zlib,
+ * and compressed HTTP responses can be decoded
+ * <li> HTTP_SUPPORT_MHASHETAGS: whether ext/http was linked against libmhash,
+ * and ETags can be generated with the available mhash algorithms
+ * <li> HTTP_SUPPORT_MAGICMIME: whether ext/http was linked against libmagic,
+ * and the HttpResponse::guessContentType() method is usable
+ * </ul>
*
* Returns int, whether requested feature is supported, or a bitmask with
* all supported features.