Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 5x 5x 10x 3x 34x 30x 30x 4x 4x 34x 34x 34x 34x 8x 8x 34x 5x | import { I18nResolver } from '../index'; import { Injectable, ExecutionContext } from '@nestjs/common'; import { I18nResolverOptions } from '../decorators/i18n-resolver-options.decorator'; import { I18nLanguages } from '../decorators/i18n-languages.decorator'; @Injectable() export class HeaderResolver implements I18nResolver { constructor( @I18nResolverOptions() private keys: string[] = [], ) {} resolve(context: ExecutionContext) { let req: any; switch (context.getType() as string) { case 'http': req = context.switchToHttp().getRequest(); break; case 'graphql': [, , { req }] = context.getArgs(); break; } let lang: string; Eif (req) { for (const key of this.keys) { Iif (key === 'accept-language') { console.warn( 'HeaderResolver does not support RFC4647 Accept-Language header. Please use AcceptLanguageResolver instead.', ); } if (req.headers[key] !== undefined) { lang = req.headers[key]; break; } } } return lang; } } |