mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
* [feat] restore headers property * add tests * patch: add headers
This commit is contained in:
parent
2569b59076
commit
52a4076540
5 changed files with 43 additions and 1 deletions
|
@ -0,0 +1,13 @@
|
|||
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
||||
|
||||
[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [KibanaRequest](./kibana-plugin-server.kibanarequest.md) > [headers](./kibana-plugin-server.kibanarequest.headers.md)
|
||||
|
||||
## KibanaRequest.headers property
|
||||
|
||||
This property will be removed in future version of this class, please use the `getFilteredHeaders` method instead
|
||||
|
||||
<b>Signature:</b>
|
||||
|
||||
```typescript
|
||||
readonly headers: Headers;
|
||||
```
|
|
@ -23,6 +23,7 @@ export declare class KibanaRequest<Params = unknown, Query = unknown, Body = unk
|
|||
| Property | Modifiers | Type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [body](./kibana-plugin-server.kibanarequest.body.md) | | <code>Body</code> | |
|
||||
| [headers](./kibana-plugin-server.kibanarequest.headers.md) | | <code>Headers</code> | This property will be removed in future version of this class, please use the <code>getFilteredHeaders</code> method instead |
|
||||
| [params](./kibana-plugin-server.kibanarequest.params.md) | | <code>Params</code> | |
|
||||
| [query](./kibana-plugin-server.kibanarequest.query.md) | | <code>Query</code> | |
|
||||
| [route](./kibana-plugin-server.kibanarequest.route.md) | | <code>RecursiveReadonly<KibanaRequestRoute></code> | |
|
||||
|
@ -34,3 +35,7 @@ export declare class KibanaRequest<Params = unknown, Query = unknown, Body = unk
|
|||
| --- | --- | --- |
|
||||
| [getFilteredHeaders(headersToKeep)](./kibana-plugin-server.kibanarequest.getfilteredheaders.md) | | |
|
||||
|
||||
## Remarks
|
||||
|
||||
The `headers` property will be deprecated and removed in future versions of this class. Please use the `getFilteredHeaders` method to acesss the list of headers available
|
||||
|
||||
|
|
|
@ -20,6 +20,16 @@ import { KibanaRequest } from './request';
|
|||
import { httpServerMock } from '../http_server.mocks';
|
||||
|
||||
describe('KibanaRequest', () => {
|
||||
describe('get all headers', () => {
|
||||
it('returns all headers', () => {
|
||||
const request = httpServerMock.createRawRequest({
|
||||
headers: { custom: 'one', authorization: 'token' },
|
||||
});
|
||||
const kibanaRequest = KibanaRequest.from(request);
|
||||
expect(kibanaRequest.headers).toEqual({ custom: 'one', authorization: 'token' });
|
||||
});
|
||||
});
|
||||
|
||||
describe('#getFilteredHeaders', () => {
|
||||
it('returns request headers', () => {
|
||||
const request = httpServerMock.createRawRequest({
|
||||
|
|
|
@ -23,7 +23,7 @@ import { ObjectType, TypeOf } from '@kbn/config-schema';
|
|||
import { Request } from 'hapi';
|
||||
|
||||
import { deepFreeze, RecursiveReadonly } from '../../../utils';
|
||||
import { filterHeaders } from './headers';
|
||||
import { filterHeaders, Headers } from './headers';
|
||||
import { RouteMethod, RouteSchemas, RouteConfigOptions } from './route';
|
||||
|
||||
const requestSymbol = Symbol('request');
|
||||
|
@ -41,6 +41,12 @@ export interface KibanaRequestRoute {
|
|||
const secretHeaders = ['authorization'];
|
||||
/**
|
||||
* Kibana specific abstraction for an incoming request.
|
||||
*
|
||||
* @remarks
|
||||
* The `headers` property will be deprecated and removed in future versions
|
||||
* of this class. Please use the `getFilteredHeaders` method to acesss the
|
||||
* list of headers available
|
||||
*
|
||||
* @public
|
||||
* */
|
||||
export class KibanaRequest<Params = unknown, Query = unknown, Body = unknown> {
|
||||
|
@ -48,6 +54,7 @@ export class KibanaRequest<Params = unknown, Query = unknown, Body = unknown> {
|
|||
* Factory for creating requests. Validates the request before creating an
|
||||
* instance of a KibanaRequest.
|
||||
* @internal
|
||||
*
|
||||
*/
|
||||
public static from<P extends ObjectType, Q extends ObjectType, B extends ObjectType>(
|
||||
req: Request,
|
||||
|
@ -97,6 +104,11 @@ export class KibanaRequest<Params = unknown, Query = unknown, Body = unknown> {
|
|||
|
||||
public readonly url: Url;
|
||||
public readonly route: RecursiveReadonly<KibanaRequestRoute>;
|
||||
/**
|
||||
* This property will be removed in future version of this class, please
|
||||
* use the `getFilteredHeaders` method instead
|
||||
*/
|
||||
public readonly headers: Headers;
|
||||
|
||||
/** @internal */
|
||||
protected readonly [requestSymbol]: Request;
|
||||
|
@ -109,6 +121,7 @@ export class KibanaRequest<Params = unknown, Query = unknown, Body = unknown> {
|
|||
private readonly withoutSecretHeaders: boolean
|
||||
) {
|
||||
this.url = request.url;
|
||||
this.headers = request.headers;
|
||||
|
||||
// prevent Symbol exposure via Object.getOwnPropertySymbols()
|
||||
Object.defineProperty(this, requestSymbol, {
|
||||
|
|
|
@ -192,6 +192,7 @@ export class KibanaRequest<Params = unknown, Query = unknown, Body = unknown> {
|
|||
static from<P extends ObjectType, Q extends ObjectType, B extends ObjectType>(req: Request, routeSchemas?: RouteSchemas<P, Q, B>, withoutSecretHeaders?: boolean): KibanaRequest<P["type"], Q["type"], B["type"]>;
|
||||
// (undocumented)
|
||||
getFilteredHeaders(headersToKeep: string[]): Pick<Record<string, string | string[] | undefined>, string>;
|
||||
readonly headers: Headers;
|
||||
// (undocumented)
|
||||
readonly params: Params;
|
||||
// (undocumented)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue