Added new request methods
This commit is contained in:
parent
064a9f4c3f
commit
498fb207f6
6 changed files with 38 additions and 10 deletions
|
@ -130,7 +130,7 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
|
|||
* Adding Appwrite API domains to allow XDOMAIN communication
|
||||
* Skip this check for non-web platforms which are not requiredto send an origin header
|
||||
*/
|
||||
$origin = $request->getServer('HTTP_ORIGIN', $request->getServer('HTTP_REFERER', ''));
|
||||
$origin = $request->getOrigin($request->getReferer(''));
|
||||
$originValidator = new Origin(\array_merge($project->getAttribute('platforms', []), $console->getAttribute('platforms', [])));
|
||||
|
||||
if(!$originValidator->isValid($origin)
|
||||
|
@ -235,7 +235,7 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
|
|||
->setParam('userId', $user->getId())
|
||||
->setParam('event', '')
|
||||
->setParam('resource', '')
|
||||
->setParam('userAgent', $request->getServer('HTTP_USER_AGENT', ''))
|
||||
->setParam('userAgent', $request->getUserAgent(''))
|
||||
->setParam('ip', $request->getIP())
|
||||
->setParam('data', [])
|
||||
;
|
||||
|
@ -280,7 +280,10 @@ App::shutdown(function ($utopia, $response, $request, $webhook, $audit, $usage,
|
|||
}, ['utopia', 'response', 'request', 'webhook', 'audit', 'usage', 'deletes', 'mode', 'project']);
|
||||
|
||||
App::options(function ($request, $response) {
|
||||
$origin = $request->getServer('HTTP_ORIGIN');
|
||||
/** @var Appwrite\Utopia\Request $request */
|
||||
/** @var Appwrite\Utopia\Response $response */
|
||||
|
||||
$origin = $request->getOrigin('');
|
||||
|
||||
$response
|
||||
->addHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE')
|
||||
|
|
|
@ -193,7 +193,7 @@ App::post('/v1/account/sessions')
|
|||
'type' => Auth::TOKEN_TYPE_LOGIN,
|
||||
'secret' => Auth::hash($secret), // On way hash encryption to protect DB leak
|
||||
'expire' => $expiry,
|
||||
'userAgent' => $request->getServer('HTTP_USER_AGENT', 'UNKNOWN'),
|
||||
'userAgent' => $request->getUserAgent('UNKNOWN'),
|
||||
'ip' => $request->getIP(),
|
||||
]);
|
||||
|
||||
|
@ -490,7 +490,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
|
|||
'type' => Auth::TOKEN_TYPE_LOGIN,
|
||||
'secret' => Auth::hash($secret), // On way hash encryption to protect DB leak
|
||||
'expire' => $expiry,
|
||||
'userAgent' => $request->getServer('HTTP_USER_AGENT', 'UNKNOWN'),
|
||||
'userAgent' => $request->getUserAgent('UNKNOWN'),
|
||||
'ip' => $request->getIP(),
|
||||
]);
|
||||
|
||||
|
@ -1143,7 +1143,7 @@ App::post('/v1/account/recovery')
|
|||
'type' => Auth::TOKEN_TYPE_RECOVERY,
|
||||
'secret' => Auth::hash($secret), // On way hash encryption to protect DB leak
|
||||
'expire' => \time() + Auth::TOKEN_EXPIRATION_RECOVERY,
|
||||
'userAgent' => $request->getServer('HTTP_USER_AGENT', 'UNKNOWN'),
|
||||
'userAgent' => $request->getUserAgent('UNKNOWN'),
|
||||
'ip' => $request->getIP(),
|
||||
]);
|
||||
|
||||
|
@ -1309,7 +1309,7 @@ App::post('/v1/account/verification')
|
|||
'type' => Auth::TOKEN_TYPE_VERIFICATION,
|
||||
'secret' => Auth::hash($verificationSecret), // On way hash encryption to protect DB leak
|
||||
'expire' => \time() + Auth::TOKEN_EXPIRATION_CONFIRM,
|
||||
'userAgent' => $request->getServer('HTTP_USER_AGENT', 'UNKNOWN'),
|
||||
'userAgent' => $request->getUserAgent('UNKNOWN'),
|
||||
'ip' => $request->getIP(),
|
||||
]);
|
||||
|
||||
|
|
|
@ -258,7 +258,7 @@ App::get('/v1/storage/files/:fileId/preview')
|
|||
throw new Exception('No such storage device', 400);
|
||||
}
|
||||
|
||||
if ((\strpos($request->getHeader('accept'), 'image/webp') === false) && ('webp' == $output)) { // Fallback webp to jpeg when no browser support
|
||||
if ((\strpos($request->getAccept(), 'image/webp') === false) && ('webp' == $output)) { // Fallback webp to jpeg when no browser support
|
||||
$output = 'jpg';
|
||||
}
|
||||
|
||||
|
|
|
@ -533,7 +533,7 @@ App::patch('/v1/teams/:teamId/memberships/:inviteId/status')
|
|||
'type' => Auth::TOKEN_TYPE_LOGIN,
|
||||
'secret' => Auth::hash($secret), // On way hash encryption to protect DB leak
|
||||
'expire' => $expiry,
|
||||
'userAgent' => $request->getServer('HTTP_USER_AGENT', 'UNKNOWN'),
|
||||
'userAgent' => $request->getUserAgent('UNKNOWN'),
|
||||
'ip' => $request->getIP(),
|
||||
]), Document::SET_TYPE_APPEND);
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ App::init(function ($utopia, $request, $response, $project, $user, $register) {
|
|||
$timeLimit->setNamespace('app_'.$project->getId());
|
||||
$timeLimit
|
||||
->setParam('{userId}', $user->getId())
|
||||
->setParam('{userAgent}', $request->getServer('HTTP_USER_AGENT', ''))
|
||||
->setParam('{userAgent}', $request->getUserAgent(''))
|
||||
->setParam('{ip}', $request->getIP())
|
||||
->setParam('{url}', $request->getHostname().$route->getURL())
|
||||
;
|
||||
|
|
|
@ -213,6 +213,31 @@ class Request extends UtopiaRequest
|
|||
return $this->getHeader('origin', $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get User Agent
|
||||
*
|
||||
* Return HTTP user agent header
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserAgent(string $default = ''): string
|
||||
{
|
||||
var_dump('ua:', $this->getHeader('user-agent', '$default'));
|
||||
return $this->getHeader('user-agent', $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Accept
|
||||
*
|
||||
* Return HTTP accept header
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getAccept(string $default = ''): string
|
||||
{
|
||||
return $this->getHeader('accept', $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get files
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue