A barebones implementation of an atproto PDS in PHP and Slim Framework 4.
pds php atproto
0

Configure Feed

Select the types of activity you want to include in your feed.

style: reduce length of header line

Andrés Ignacio Torres (May 16, 2026, 1:00 AM -0700) ba41d641 f4365050

+18 -4
+18 -4
src/Application/ResponseEmitter/ResponseEmitter.php
··· 17 17 // This variable should be set to the allowed host from which your API can be accessed with 18 18 $origin = $_SERVER['HTTP_ORIGIN'] ?? ''; 19 19 20 + $allowedHeaders = implode(', ', [ 21 + 'X-Requested-With', 22 + 'Content-Type', 23 + 'Accept', 24 + 'Origin', 25 + 'Authorization', 26 + 'DNT', 27 + 'Keep-Alive', 28 + 'User-Agent', 29 + 'If-Modified-Since', 30 + 'Cache-Control', 31 + 'Range', 32 + 'DPoP', 33 + 'atproto-accept-labelers', 34 + 'atproto-proxy', 35 + ]); 36 + 20 37 $response = $response 21 38 ->withHeader('Access-Control-Allow-Credentials', 'true') 22 39 ->withHeader('Access-Control-Allow-Origin', $origin) 23 - ->withHeader( 24 - 'Access-Control-Allow-Headers', 25 - 'X-Requested-With, Content-Type, Accept, Origin, Authorization, DNT, Keep-Alive, User-Agent, If-Modified-Since, Cache-Control, Content-Type, Range, DPoP, atproto-accept-labelers, atproto-proxy', 26 - ) 40 + ->withHeader('Access-Control-Allow-Headers', $allowedHeaders) 27 41 ->withHeader('Access-Control-Expose-Headers', 'DPoP-Nonce') 28 42 ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS') 29 43 ->withHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')