Skip to content

Commit

Permalink
Review nits
Browse files Browse the repository at this point in the history
  • Loading branch information
joshdover committed Aug 19, 2020
1 parent 12f35d8 commit 275b58c
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 10 deletions.
5 changes: 2 additions & 3 deletions src/core/server/elasticsearch/client/cluster_client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import { Client } from '@elastic/elasticsearch';
import { Logger } from '../../logging';
import { GetAuthHeaders, isRealRequest, Headers } from '../../http';
import { GetAuthHeaders, Headers, isKibanaRequest, isRealRequest } from '../../http';
import { ensureRawRequest, filterHeaders, KibanaRequest } from '../../http/router';
import { ScopeableRequest } from '../types';
import { ElasticsearchClient } from './types';
Expand Down Expand Up @@ -96,8 +96,7 @@ export class ClusterClient implements ICustomClusterClient {
let scopedHeaders: Headers;
if (isRealRequest(request)) {
const requestHeaders = ensureRawRequest(request).headers;
const requestIdHeaders =
request instanceof KibanaRequest ? { 'x-opaque-id': request.id } : {};
const requestIdHeaders = isKibanaRequest(request) ? { 'x-opaque-id': request.id } : {};
const authHeaders = this.getAuthHeaders(request);

scopedHeaders = filterHeaders({ ...requestHeaders, ...requestIdHeaders, ...authHeaders }, [
Expand Down
11 changes: 5 additions & 6 deletions src/core/server/elasticsearch/legacy/cluster_client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { Client } from 'elasticsearch';
import { get } from 'lodash';

import { LegacyElasticsearchErrorHelpers } from './errors';
import { GetAuthHeaders, isRealRequest, KibanaRequest } from '../../http';
import { GetAuthHeaders, KibanaRequest, isKibanaRequest, isRealRequest } from '../../http';
import { AuditorFactory } from '../../audit_trail';
import { filterHeaders, ensureRawRequest } from '../../http/router';
import { Logger } from '../../logging';
Expand Down Expand Up @@ -218,8 +218,7 @@ export class LegacyClusterClient implements ILegacyClusterClient {
private getScopedAuditor(request?: ScopeableRequest) {
// TODO: support alternative credential owners from outside of Request context in #39430
if (request && isRealRequest(request)) {
const kibanaRequest =
request instanceof KibanaRequest ? request : KibanaRequest.from(request);
const kibanaRequest = isKibanaRequest(request) ? request : KibanaRequest.from(request);
const auditorFactory = this.getAuditorFactory();
return auditorFactory.asScoped(kibanaRequest);
}
Expand Down Expand Up @@ -259,9 +258,9 @@ export class LegacyClusterClient implements ILegacyClusterClient {
return request && request.headers ? request.headers : {};
}
const authHeaders = this.getAuthHeaders(request);
const headers = ensureRawRequest(request).headers;
const requestIdHeaders = request instanceof KibanaRequest ? { 'x-opaque-id': request.id } : {};
const requestHeaders = ensureRawRequest(request).headers;
const requestIdHeaders = isKibanaRequest(request) ? { 'x-opaque-id': request.id } : {};

return { ...headers, ...authHeaders, ...requestIdHeaders };
return { ...requestHeaders, ...requestIdHeaders, ...authHeaders };
}
}
1 change: 1 addition & 0 deletions src/core/server/http/http_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ export class HttpServer {
private setupRequestStateAssignment(config: HttpConfig) {
this.server!.ext('onRequest', (request, responseToolkit) => {
request.app = {
...(request.app ?? {}),
requestId: getRequestId(request, config.requestId),
} as KibanaRequestState;
return responseToolkit.continue;
Expand Down
1 change: 1 addition & 0 deletions src/core/server/http/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export { AuthStatus, GetAuthState, IsAuthenticated } from './auth_state_storage'
export {
CustomHttpResponseOptions,
IKibanaSocket,
isKibanaRequest,
isRealRequest,
Headers,
HttpResponseOptions,
Expand Down
1 change: 1 addition & 0 deletions src/core/server/http/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ export {
KibanaRequestRouteOptions,
KibanaRouteOptions,
KibanaRequestState,
isKibanaRequest,
isRealRequest,
LegacyRequest,
ensureRawRequest,
Expand Down
6 changes: 5 additions & 1 deletion src/core/server/http/router/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,11 @@ export class KibanaRequest<
export const ensureRawRequest = (request: KibanaRequest | LegacyRequest) =>
isKibanaRequest(request) ? request[requestSymbol] : request;

function isKibanaRequest(request: unknown): request is KibanaRequest {
/**
* Checks if an incoming request is a {@link KibanaRequest}
* @internal
*/
export function isKibanaRequest(request: unknown): request is KibanaRequest {
return request instanceof KibanaRequest;
}

Expand Down

0 comments on commit 275b58c

Please sign in to comment.