diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..a1d8c2b --- /dev/null +++ b/README.txt @@ -0,0 +1,85 @@ + +------------------------------------ +HTTP PARALLEL REQUEST LIBRARY MODULE +------------------------------------ + + +CONTENTS OF THIS FILE +--------------------- + + * About HTTPRL + * Requirements + * Configuration + * API Overview + * Technical Details + + +ABOUT HTTPRL +------------ + +http://drupal.org/project/httprl + +HTTPRL is a flexible and powerful HTTP client implementation. Correctly handles +GET, POST, PUT or any other HTTP requests & the sending of data. Issue blocking +or non-blocking requests in parallel. Set timeouts, max simultaneous connection +limits, chunk size, and max redirects to follow. Can handle data with +content-encoding and transfer-encoding headers set. Correctly follows +redirects. Option to forward the referrer when a redirect is found. Cookie +extraction and parsing into key value pairs. + + +REQUIREMENTS +------------ + +Requires PHP 5. The following functions must be available on the server: + * stream_socket_client + * stream_select + * stream_set_blocking + * stream_get_meta_data + * stream_socket_get_name +Some hosting providers disable these functions; but they do come standard with +PHP 5. + + +CONFIGURATION +------------- + +Settings page is located at: +6.x: admin/settings/httprl +7.x: admin/config/development/httprl + + * IP Address to send all self server requests to. If left blank it will use the + same server as the request. If set to -1 it will use the host name instead of + an IP address. This controls the output of httprl_build_url_self(). + + +API OVERVIEW +------------ + +Issue HTTP Requests: +httprl_build_url_self() + - Helper function to build an URL for asynchronous requests to self. +httprl_request() + - Queue up a HTTP request in httprl_send_request(). +httprl_send_request() + - Perform many HTTP requests. + +Other Functions: +httprl_background_processing() + - Output text, close connection, continue processing in the background. +httprl_strlen() + - Get the length of a string in bytes. +httprl_glue_url() + - Alt to http_build_url(). +httprl_get_server_schema() + - Return the server schema (http or https). + +TECHNICAL DETAILS +----------------- + +Using stream_select() HTTPRL will send http requests out in parallel. These +requests can be made in a blocking or non-blocking way. Blocking will wait for +the http response; Non-Blocking will close the connection not waiting for the +response back. The API for httprl is similar to the Drupal 7 version of +drupal_http_request(). + diff --git a/httprl.install b/httprl.install index 6723366..2ab7fc6 100644 --- a/httprl.install +++ b/httprl.install @@ -44,6 +44,7 @@ function httprl_requirements($phase) { 'stream_select', 'stream_set_blocking', 'stream_get_meta_data', + 'stream_socket_get_name', ); // Check each function to make sure it exists. foreach ($function_list as $function_name) { diff --git a/httprl.module b/httprl.module index 803d206..1053360 100644 --- a/httprl.module +++ b/httprl.module @@ -174,7 +174,7 @@ function httprl_build_url_self($path = '', $detect_schema = FALSE) { } /** - * Perform an HTTP request + * Queue up a HTTP request in httprl_send_request(). * * @see drupal_http_request() * @@ -434,7 +434,7 @@ function httprl_request($url, $options = array()) { } /** - * Perform an HTTP request. + * Perform many HTTP requests. * * @see drupal_http_request() * @@ -1126,7 +1126,7 @@ function httprl_background_processing($output, $wait = TRUE, $content_type = "te } /** - * Get the length of a string in bytes + * Get the length of a string in bytes. * * @param $string * get string length