本文整理匯總了TypeScript中hapi.Request.getBasePath方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Request.getBasePath方法的具體用法?TypeScript Request.getBasePath怎麽用?TypeScript Request.getBasePath使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類hapi.Request
的用法示例。
在下文中一共展示了Request.getBasePath方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: authenticateViaHandshake
/**
* Tries to start SAML handshake and eventually receive a token.
* @param request HapiJS request instance.
*/
private async authenticateViaHandshake(request: Request) {
this.debug('Trying to initiate SAML handshake.');
// If client can't handle redirect response, we shouldn't initiate SAML handshake.
if (!canRedirectRequest(request)) {
this.debug('SAML handshake can not be initiated by AJAX requests.');
return AuthenticationResult.notHandled();
}
try {
// This operation should be performed on behalf of the user with a privilege that normal
// user usually doesn't have `cluster:admin/xpack/security/saml/prepare`.
const { id: requestId, redirect } = await this.options.client.callWithInternalUser(
'shield.samlPrepare',
{ body: { acs: this.getACS() } }
);
this.debug('Redirecting to Identity Provider with SAML request.');
return AuthenticationResult.redirectTo(
redirect,
// Store request id in the state so that we can reuse it once we receive `SAMLResponse`.
{ requestId, nextURL: `${request.getBasePath()}${request.url.path}` }
);
} catch (err) {
this.debug(`Failed to initiate SAML handshake: ${err.message}`);
return AuthenticationResult.failed(err);
}
}
示例2: getLoginPageURL
/**
* Constructs login page URL using current url path as `next` query string parameter.
* @param request HapiJS request instance.
*/
private getLoginPageURL(request: Request) {
const nextURL = encodeURIComponent(`${request.getBasePath()}${request.url.path}`);
return `${this.options.basePath}/login?next=${nextURL}`;
}