Commit 7823ef13 authored by mikeytown2's avatar mikeytown2

Issue #1455528 by mikeytown2: Add readme.

parent e9641ea1
------------------------------------
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().
...@@ -44,6 +44,7 @@ function httprl_requirements($phase) { ...@@ -44,6 +44,7 @@ function httprl_requirements($phase) {
'stream_select', 'stream_select',
'stream_set_blocking', 'stream_set_blocking',
'stream_get_meta_data', 'stream_get_meta_data',
'stream_socket_get_name',
); );
// Check each function to make sure it exists. // Check each function to make sure it exists.
foreach ($function_list as $function_name) { foreach ($function_list as $function_name) {
......
...@@ -174,7 +174,7 @@ function httprl_build_url_self($path = '', $detect_schema = FALSE) { ...@@ -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() * @see drupal_http_request()
* *
...@@ -434,7 +434,7 @@ function httprl_request($url, $options = array()) { ...@@ -434,7 +434,7 @@ function httprl_request($url, $options = array()) {
} }
/** /**
* Perform an HTTP request. * Perform many HTTP requests.
* *
* @see drupal_http_request() * @see drupal_http_request()
* *
...@@ -1126,7 +1126,7 @@ function httprl_background_processing($output, $wait = TRUE, $content_type = "te ...@@ -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 * @param $string
* get string length * get string length
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment