emptygif
ಭಾಷೆ: ಕನ್ನಡ

ಎಲ್ಲಾ ಭಾಷೆಗಳು ಮತ್ತು ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು

AMPHP HTTP Server PHP

/pixel.gif ಗೆ ಬರುವ ವಿನಂತಿಗಳಿಗೆ ಖಾಲಿ GIF ನೊಂದಿಗೆ ಉತ್ತರಿಸುವ, AMPHP HTTP Server ಗಾಗಿ ಒಂದು PHP ಸ್ನಿಪೆಟ್; GIF ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಒಮ್ಮೆ ಮಾತ್ರ ಡಿಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.

AMPHP HTTP Server PHP

ಇನ್‌ಸ್ಟಾಲ್
composer require amphp/http-server amphp/http-server-router
ಫೈಲ್
server.php
ರನ್
php server.php
<?php

use Amp\Http\HttpStatus;
use Amp\Http\Server\DefaultErrorHandler;
use Amp\Http\Server\Request;
use Amp\Http\Server\RequestHandler\ClosureRequestHandler;
use Amp\Http\Server\Response;
use Amp\Http\Server\Router;
use Amp\Http\Server\SocketHttpServer;
use Psr\Log\NullLogger;

use function Amp\trapSignal;

require __DIR__ . '/vendor/autoload.php';

$gif = base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');

$logger = new NullLogger();
$errorHandler = new DefaultErrorHandler();

$server = SocketHttpServer::createForDirectAccess($logger);
$server->expose('0.0.0.0:8080');

$router = new Router($server, $logger, $errorHandler);
$router->addRoute('GET', '/pixel.gif', new ClosureRequestHandler(
    fn (Request $request): Response => new Response(HttpStatus::OK, [
        'content-type' => 'image/gif',
        'content-length' => (string) strlen($gif),
        'cache-control' => 'no-store',
    ], $gif),
));

$server->start($router, $errorHandler);
trapSignal([SIGINT, SIGTERM]);
$server->stop();

ನಾವು ಈ ಸ್ನಿಪೆಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಅದು ಹಿಂತಿರುಗಿಸಿದ ಬೈಟ್‌ಗಳನ್ನು ಹೋಲಿಸಿದ್ದೇವೆ.

ಪರಿಶೀಲಿಸಿ

curl -sI http://localhost:8080/pixel.gif

ಅಧಿಕೃತ ಸೈಟ್: AMPHP HTTP Server

PHP ನಲ್ಲಿ ಇನ್ನಷ್ಟು