Skip to content

Commit

Permalink
Tech debt/substitute legacy request (#119888)
Browse files Browse the repository at this point in the history
  • Loading branch information
TinaHeiligers authored Nov 30, 2021
1 parent c32a2f9 commit 338fe1a
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 24 deletions.
8 changes: 4 additions & 4 deletions src/core/server/http/auth_headers_storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { KibanaRequest, ensureRawRequest, LegacyRequest } from './router';
import { Request } from '@hapi/hapi';
import { KibanaRequest, ensureRawRequest } from './router';
import { AuthHeaders } from './lifecycle/auth';

/**
Expand All @@ -19,8 +19,8 @@ export type GetAuthHeaders = (request: KibanaRequest) => AuthHeaders | undefined

/** @internal */
export class AuthHeadersStorage {
private authHeadersCache = new WeakMap<LegacyRequest, AuthHeaders>();
public set = (request: KibanaRequest | LegacyRequest, headers: AuthHeaders) => {
private authHeadersCache = new WeakMap<Request, AuthHeaders>();
public set = (request: KibanaRequest | Request, headers: AuthHeaders) => {
this.authHeadersCache.set(ensureRawRequest(request), headers);
};
public get: GetAuthHeaders = (request) => {
Expand Down
10 changes: 5 additions & 5 deletions src/core/server/http/auth_state_storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { ensureRawRequest, KibanaRequest, LegacyRequest } from './router';
import { Request } from '@hapi/hapi';
import { ensureRawRequest, KibanaRequest } from './router';

/**
* Status indicating an outcome of the authentication.
Expand Down Expand Up @@ -45,12 +45,12 @@ export type IsAuthenticated = (request: KibanaRequest) => boolean;

/** @internal */
export class AuthStateStorage {
private readonly storage = new WeakMap<LegacyRequest, unknown>();
private readonly storage = new WeakMap<Request, unknown>();
constructor(private readonly canBeAuthenticated: () => boolean) {}
public set = (request: KibanaRequest | LegacyRequest, state: unknown) => {
public set = (request: KibanaRequest | Request, state: unknown) => {
this.storage.set(ensureRawRequest(request), state);
};
public get = <T = unknown>(request: KibanaRequest | LegacyRequest) => {
public get = <T = unknown>(request: KibanaRequest | Request) => {
const key = ensureRawRequest(request);
const state = this.storage.get(key) as T;
const status: AuthStatus = this.storage.has(key)
Expand Down
6 changes: 3 additions & 3 deletions src/core/server/http/base_path_service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
*/

import { modifyUrl } from '@kbn/std';

import { ensureRawRequest, KibanaRequest, LegacyRequest } from './router';
import { Request } from '@hapi/hapi';
import { ensureRawRequest, KibanaRequest } from './router';

/**
* Access or manipulate the Kibana base path
*
* @public
*/
export class BasePath {
private readonly basePathCache = new WeakMap<LegacyRequest, string>();
private readonly basePathCache = new WeakMap<Request, string>();

/**
* returns the server's basePath
Expand Down
1 change: 0 additions & 1 deletion src/core/server/http/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ export type {
KibanaRequestRouteOptions,
KibanaRouteOptions,
KibanaRequestState,
LegacyRequest,
} from './request';
export { isSafeMethod, validBodyOutput } from './route';
export type {
Expand Down
15 changes: 4 additions & 11 deletions src/core/server/http/router/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,6 @@ export interface KibanaRequestEvents {
completed$: Observable<void>;
}

/**
* @deprecated
* `hapi` request object, supported during migration process only for backward compatibility.
* @public
*/
export interface LegacyRequest extends Request {} // eslint-disable-line @typescript-eslint/no-empty-interface

/**
* Kibana specific abstraction for an incoming request.
* @public
Expand Down Expand Up @@ -312,7 +305,7 @@ export class KibanaRequest<
* Returns underlying Hapi Request
* @internal
*/
export const ensureRawRequest = (request: KibanaRequest | LegacyRequest) =>
export const ensureRawRequest = (request: KibanaRequest | Request) =>
isKibanaRequest(request) ? request[requestSymbol] : request;

/**
Expand All @@ -323,7 +316,7 @@ export function isKibanaRequest(request: unknown): request is KibanaRequest {
return request instanceof KibanaRequest;
}

function isRequest(request: any): request is LegacyRequest {
function isRequest(request: any): request is Request {
try {
return request.raw.req && typeof request.raw.req === 'object';
} catch {
Expand All @@ -332,9 +325,9 @@ function isRequest(request: any): request is LegacyRequest {
}

/**
* Checks if an incoming request either KibanaRequest or Legacy.Request
* Checks if an incoming request either KibanaRequest or Hapi.Request
* @internal
*/
export function isRealRequest(request: unknown): request is KibanaRequest | LegacyRequest {
export function isRealRequest(request: unknown): request is KibanaRequest | Request {
return isKibanaRequest(request) || isRequest(request);
}

0 comments on commit 338fe1a

Please sign in to comment.