Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
97
src/Framework/Http/RequestManipulator.php
Normal file
97
src/Framework/Http/RequestManipulator.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\Http;
|
||||
|
||||
/**
|
||||
* Helper class for manipulating HTTP requests without modifying the original request objects
|
||||
*/
|
||||
final readonly class RequestManipulator
|
||||
{
|
||||
/**
|
||||
* Create a new request with an additional header
|
||||
*/
|
||||
public function withHeader(HttpRequest $request, string $name, string $value): HttpRequest
|
||||
{
|
||||
$newHeaders = $request->headers->with($name, $value);
|
||||
|
||||
return new HttpRequest(
|
||||
method: $request->method,
|
||||
headers: $newHeaders,
|
||||
body: $request->body,
|
||||
path: $request->path,
|
||||
queryParams: $request->queryParams,
|
||||
files: $request->files,
|
||||
cookies: $request->cookies,
|
||||
server: $request->server,
|
||||
id: $request->id,
|
||||
parsedBody: $request->parsedBody,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new request with updated headers
|
||||
*/
|
||||
public function withHeaders(HttpRequest $request, Headers $headers): HttpRequest
|
||||
{
|
||||
return new HttpRequest(
|
||||
method: $request->method,
|
||||
headers: $headers,
|
||||
body: $request->body,
|
||||
path: $request->path,
|
||||
queryParams: $request->queryParams,
|
||||
files: $request->files,
|
||||
cookies: $request->cookies,
|
||||
server: $request->server,
|
||||
id: $request->id,
|
||||
parsedBody: $request->parsedBody,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new request without a specific header
|
||||
*/
|
||||
public function withoutHeader(HttpRequest $request, string $name): HttpRequest
|
||||
{
|
||||
$newHeaders = $request->headers->without($name);
|
||||
|
||||
return new HttpRequest(
|
||||
method: $request->method,
|
||||
headers: $newHeaders,
|
||||
body: $request->body,
|
||||
path: $request->path,
|
||||
queryParams: $request->queryParams,
|
||||
files: $request->files,
|
||||
cookies: $request->cookies,
|
||||
server: $request->server,
|
||||
id: $request->id,
|
||||
parsedBody: $request->parsedBody,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new request with multiple headers added
|
||||
*/
|
||||
public function withAddedHeaders(HttpRequest $request, array $headers): HttpRequest
|
||||
{
|
||||
$newHeaders = $request->headers;
|
||||
|
||||
foreach ($headers as $name => $value) {
|
||||
$newHeaders = $newHeaders->with($name, $value);
|
||||
}
|
||||
|
||||
return new HttpRequest(
|
||||
method: $request->method,
|
||||
headers: $newHeaders,
|
||||
body: $request->body,
|
||||
path: $request->path,
|
||||
queryParams: $request->queryParams,
|
||||
files: $request->files,
|
||||
cookies: $request->cookies,
|
||||
server: $request->server,
|
||||
id: $request->id,
|
||||
parsedBody: $request->parsedBody,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user