அனைத்து மொழிகளும் ஃப்ரேம்வொர்க்குகளும்
AMPHP HTTP Server PHP
/pixel.gif க்கு வரும் ரெக்வெஸ்ட்களுக்கு empty GIF மூலம் பதிலளிக்கும், AMPHP HTTP Server க்கான PHP ஸ்னிப்பெட். GIF ஸ்டார்ட்அப்பில் ஒருமுறை மட்டுமே டீகோட் செய்யப்படுகிறது.
AMPHP HTTP 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