------------------------------------ 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().