Skip to main content

Web Request

Sponsor Build Status Opensource ByJG GitHub source GitHub license GitHub release

A lightweight PSR-7 implementation and highly customized CURL wrapper for making REST calls.

Overview

PHP WebRequest is a fully PSR-compliant HTTP client package that provides:

PSR Implementations

  • PSR-7 - HTTP Message Interface (Request, Response, Stream)
  • PSR-17 - HTTP Factories (Request, Response, Stream, etc.)
  • PSR-18 - HTTP Client Interface

Additional Features

  • Helper classes for common request types (JSON, Form URL Encoded, MultiPart)
  • Support for parallel HTTP requests
  • Mock client for testing

Documentation

Basic Example

<?php
// Create a request
$uri = \ByJG\Util\Uri::getInstanceFromString('http://www.example.com/page');
$request = \ByJG\WebRequest\Psr7\Request::getInstance($uri);

// Send the request
$response = \ByJG\WebRequest\HttpClient::getInstance()->sendRequest($request);

// Process the response
$statusCode = $response->getStatusCode();
$body = $response->getBody()->getContents();

Install

composer require "byjg/webrequest"

Running Tests

# Start the test server
docker-compose up -d

# Run the tests
vendor/bin/phpunit

# Stop the server
docker-compose down

Dependencies


Open source ByJG