本文整理汇总了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}`;
}