PHP Lightweight HTTP Request Client Library
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

O2System Curl

O2System Curl is a PHP Lightweight HTTP Request Client Library which is build for working more powerful with O2System Framework, but also can be used for integrated with others as standalone version with limited features.


  • Utility methods to call GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH requests.
  • Supports form parameters, file uploads and custom body entities.
  • Supports gzip compression.
  • Supports Basic, Digest, Negotiate, NTLM Authentication natively.
  • Customizable timeout.
  • Customizable default headers for every request (DRY).
  • Automatic JSON parsing into a native object for JSON responses.
  • Multiple request support.

Composer Instalation

The best way to install O2System Curl is to use Composer

composer require o2system/curl --prefer-dist dev-master



use O2System\Curl;
use O2System\Kernel\Http\Message\Uri;

// Single Request
$request = new Curl\Request();
$request->setUri( new Uri() )->withHost( '' )->withPath( 'testing');

// Multi Request
$multirequest = new Curl\MultiRequest();
$multirequest->register( $request );

// Get single response
$response = $request->get();

// Get multiple responses
$responses = $multirequest->get();

Documentation is available on this repository wiki or visit this repository github page.

Ideas and Suggestions

Please kindly mail us at

Bugs and Issues

Please kindly submit your issues at Github so we can track all the issues along development and send a pull request to this repository.

System Requirements


Role Name
Founder and Lead Projects Steeven Andrian Salim
Documentation Steeven Andrian Salim
Github Pages Designer Teguh Rianto