PHP Classes

File: README.md

Recommend this page to a friend!
  Packages of Nikos M.   Eazy HTTP   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Eazy HTTP
Send HTTP requests defined with a fluent interface
Author: By
Last change: v.1.2.0

* python socket implementation
* various edits, corrections
Date: 4 months ago
Size: 6,961 bytes
 

Contents

Class file image Download

EazyHttp

EazyHttp, easy, simple and fast HTTP requests for PHP, JavaScript, Python

EazyHttp

version 1.2.0

supports

PHP (in any desired order)

  • `curl` (if available)
  • `file_get_contents` (if available)
  • `sockets/fsockopen` (if available)

JavaScript/Browser (in any desired order)

  • `fetch` (if available)
  • `XMLHttpRequest` (if available)
  • `iframe` (if available)

JavaScript/Node (in any desired order)

  • `http`/`https` (if available)
  • `fetch` (if available)

JavaScript/XPCOM

  • `XMLHttpRequest` (if available)

Python (in any desired order)

  • `urllib`
  • `socket`

example

PHP

$http = new EazyHttp();

// HTTP GET request
$response = $http->option(
    'timeout',             30 // secs, default
)->option(
    'follow_redirects',    3 // default
)->option(
    'methods',             ['curl', 'file', 'socket'] // default order
)->get(
    'https://example.com/',
    ['foo' => 'bar'], // custom URL params
    ['User-Agent' => 'EazyHttp'], // custom Headers
    ['a_cookie' => 'some cookie value'] // custom Cookies
);

// HTTP POST request
$response = $http->option(
    'timeout',             30 // secs, default
)->option(
    'follow_redirects',    3 // default
)->option(
    'methods',             ['curl', 'file', 'socket'] // default order
)->post(
    'https://example.com/',
    ['foo' => 'bar'], // custom post data
    ['User-Agent' => 'EazyHttp'], // custom Headers
    ['a_cookie' => 'some cookie value'] // custom Cookies
);

echo json_encode($response); // stdClass: {status}, {content}, {headers}, {cookies}

JavaScript (browser and node)

const http = new EazyHttp();

// HTTP GET request
http.option(
    'timeout',             30 // secs, default
).option(
    'follow_redirects',     3 // default
).option(
    'methods',              ['http', 'fetch', 'xhr', 'iframe'] // default order
).option(
    'return_type',          'string' // default, 'string' or 'buffer'
).get(
    'https://example.com/',
    {'foo' : 'bar'}, // custom URL params
    {'User-Agent' : 'EazyHttp'}, // custom Headers
    {'a_cookie' : 'some cookie value'} // custom Cookies
).then(
    (response)  => console.log(JSON.stringify(response)) // Object: {status}, {content}, {headers}, {cookies}
);

// HTTP POST request
http.option(
    'timeout',             30 // secs, default
).option(
    'follow_redirects',     3 // default
).option(
    'methods',              ['http', 'fetch', 'xhr', 'iframe'] // default order
).option(
    'return_type',          'string' // default, 'string' or 'buffer'
).post(
    'https://example.com/',
    {'foo' : 'bar'}, // custom post data
    {'User-Agent' : 'EazyHttp'}, // custom Headers
    {'a_cookie' : 'some cookie value'} // custom Cookies
).then(
    (response)  => console.log(JSON.stringify(response)) // Object: {status}, {content}, {headers}, {cookies}
);

Python

http = EazyHttp()

# HTTP GET request
response = http.option(
    'timeout',             30 # secs, default
).option(
    'follow_redirects',    3 # default
).option(
    'methods',             ['urllib', 'socket'] # default order
).get(
    'https://example.com/',
    {'foo' : 'bar'}, # custom URL params
    {'User-Agent' : 'EazyHttp'}, # custom Headers
    {'a_cookie' : 'some cookie value'} # custom Cookies
)

# HTTP POST request
response = http.option(
    'timeout',             30 # secs, default
).option(
    'follow_redirects',    3 # default
).option(
    'methods',             ['urllib', 'socket'] # default order
).post(
    'https://example.com/',
    {'foo' : 'bar'}, # custom post data
    {'User-Agent' : 'EazyHttp'}, # custom Headers
    {'a_cookie' : 'some cookie value'} # custom Cookies
)

import json
print(json.dumps(response)) # dict: {status}, {content}, {headers}, {cookies}

see also:

  • ModelView a simple, fast, powerful and flexible MVVM framework for JavaScript
  • tico a mini, super-simple MVC framework for PHP
  • LoginManager a simple, barebones agnostic login manager for PHP, JavaScript, Python
  • SimpleCaptcha a simple, image-based, mathematical captcha with increasing levels of difficulty for PHP, JavaScript, Python
  • Dromeo a flexible, and powerful agnostic router for PHP, JavaScript, Python
  • PublishSubscribe a simple and flexible publish-subscribe pattern implementation for PHP, JavaScript, Python
  • Localizer a simple and versatile localization class (l10n) for PHP, JavaScript, Python
  • Importer simple class & dependency manager and loader for PHP, JavaScript, Python
  • EazyHttp easy, simple and fast HTTP requests for PHP, JavaScript, Python
  • RT a versatile real-time communication client for JavaScript supporting Polling / BOSH / WebSockets / WebRTC
  • AjaxListener.js a listener for any AJAX event for JavaScript, even by other scripts
  • Contemplate a fast and versatile isomorphic template engine for PHP, JavaScript, Python
  • HtmlWidget html widgets, made as simple as possible, both client and server, both desktop and mobile, can be used as (template) plugins and/or standalone for PHP, JavaScript, Python (can be used as plugins for Contemplate)
  • Paginator simple and flexible pagination controls generator for PHP, JavaScript, Python
  • Formal a simple and versatile (Form) Data validation framework based on Rules for PHP, JavaScript, Python
  • Dialect a cross-vendor & cross-platform SQL Query Builder, based on GrammarTemplate, for PHP, JavaScript, Python
  • DialectORM an Object-Relational-Mapper (ORM) and Object-Document-Mapper (ODM), based on Dialect, for PHP, JavaScript, Python
  • Unicache a simple and flexible agnostic caching framework, supporting various platforms, for PHP, JavaScript, Python
  • Xpresion a simple and flexible eXpression parser engine (with custom functions and variables support), based on GrammarTemplate, for PHP, JavaScript, Python
  • Regex Analyzer/Composer Regular Expression Analyzer and Composer for PHP, JavaScript, Python