Allow indicating index using X-Content-Index header for better CORS experience.
This commit is contained in:
parent
894a8c2982
commit
a4453ab5bc
2 changed files with 23 additions and 2 deletions
|
@ -82,7 +82,28 @@ class TasksRoutes implements RouteHandler {
|
|||
];
|
||||
}
|
||||
|
||||
if($request->hasHeader('X-Content-Index')) {
|
||||
if($request->hasParam('index')) {
|
||||
$response->setStatusCode(400);
|
||||
return [
|
||||
'error' => 'bad_param',
|
||||
'english' => 'the index query parameter may not be used at the same time as the X-Content-Index header.',
|
||||
];
|
||||
}
|
||||
|
||||
$index = (int)filter_var($request->getHeaderLine('X-Content-Index'), FILTER_SANITIZE_NUMBER_INT);
|
||||
} elseif($request->hasParam('index')) {
|
||||
if($request->hasHeader('X-Content-Index')) {
|
||||
$response->setStatusCode(400);
|
||||
return [
|
||||
'error' => 'bad_param',
|
||||
'english' => 'the X-Content-Index header may not be used at the same time as the index query parameter.',
|
||||
];
|
||||
}
|
||||
|
||||
$index = (int)$request->getParam('index', FILTER_SANITIZE_NUMBER_INT);
|
||||
} else $index = 0;
|
||||
|
||||
if($index < 0) {
|
||||
$response->setStatusCode(400);
|
||||
return [
|
||||
|
|
|
@ -28,7 +28,7 @@ class UploadsViewRoutes implements RouteHandler {
|
|||
#[HttpOptions('/([A-Za-z0-9]+|[A-Za-z0-9\-_]{32})(?:-([a-z0-9]+))?(?:\.([A-Za-z0-9\-_]+))?')]
|
||||
public function optionsUpload($response, $request, string $uploadId, string $variant = '', string $extension = ''): int {
|
||||
if($this->isApiDomain && $variant === '') {
|
||||
$response->setHeader('Access-Control-Allow-Headers', 'Authorization, Content-Type, Content-Length');
|
||||
$response->setHeader('Access-Control-Allow-Headers', 'Authorization, Content-Type, Content-Length, X-Content-Index');
|
||||
$response->setHeader('Access-Control-Allow-Methods', 'HEAD, GET, PUT, DELETE');
|
||||
$response->setHeader('Access-Control-Max-Age', '300');
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue