Skip to content

Latest commit

 

History

History
90 lines (65 loc) · 4.51 KB

File metadata and controls

90 lines (65 loc) · 4.51 KB

Fast Forward HTTP

PHP Version Composer Package Tests Coverage Docs License GitHub Sponsors

PSR-7 PSR-11 PSR-17 PSR-18

Fast Forward HTTP is the aggregate HTTP package of the Fast Forward ecosystem.

It is designed for developers who want a practical starting point for HTTP work without wiring each piece manually. Install one package, register one provider, and you get the default Fast Forward HTTP stack in your container.

What You Get

  • PSR-17 factories for requests, responses, server requests, streams, uploaded files, and URIs
  • A PSR-18 HTTP client backed by Symfony HttpClient
  • A ServerRequestInterface created from PHP globals
  • Fast Forward convenience factories for JSON, HTML, text, redirect, empty responses, and payload streams
  • One aggregate HttpServiceProvider that wires the stack together

Installation

composer require fast-forward/http

Quickstart

<?php

declare(strict_types=1);

use FastForward\Http\Message\Factory\ResponseFactoryInterface;
use FastForward\Http\ServiceProvider\HttpServiceProvider;
use function FastForward\Container\container;

$container = container(new HttpServiceProvider());

$responseFactory = $container->get(ResponseFactoryInterface::class);

$response = $responseFactory->createResponseFromPayload([
    'message' => 'Hello, Fast Forward HTTP!',
    'ok' => true,
]);

echo $response->getHeaderLine('Content-Type');
// application/json; charset=utf-8

Main Services

Identifier Default concrete service Purpose
Psr\Http\Message\RequestFactoryInterface Nyholm\Psr7\Factory\Psr17Factory Create outbound requests
Psr\Http\Message\ResponseFactoryInterface Nyholm\Psr7\Factory\Psr17Factory Create plain PSR-17 responses
FastForward\Http\Message\Factory\ResponseFactoryInterface FastForward\Http\Message\Factory\ResponseFactory Create JSON, HTML, text, redirect, and empty responses
FastForward\Http\Message\Factory\StreamFactoryInterface FastForward\Http\Message\Factory\StreamFactory Create payload-aware JSON streams
Psr\Http\Message\ServerRequestInterface ServerRequestCreator::fromGlobals() result Access the current incoming request
Psr\Http\Client\ClientInterface Symfony\Component\HttpClient\Psr18Client Send outbound HTTP requests

Documentation

See the documentation sources in docs/ for:

  • installation and quickstart
  • retrieving services from the container
  • responses, streams, and server requests
  • advanced customization and aliasing
  • aggregated services and compatibility notes

Related Packages

License

Fast Forward HTTP is licensed under the MIT license.