Estoy tratando de recuperar un encabezado de solicitud particular de una solicitud de apolloserver (es decir, el objeto de solicitud de GraphQLRequestContext ), dentro de un complemento.
registrar el objeto de headers
cierra la sesión como:
Headers { [Symbol(map)]: [Object: null prototype] { 'content-type': [ 'application/json' ], user: [ '{...(redacted)...}' ], 'x-header-foo': [ '234' ], accept: [ '*/*' ], 'content-length': [ '256' ], 'user-agent': [ 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)' ], 'accept-encoding': [ 'gzip,deflate' ], connection: [ 'close' ], host: [ 'localhost:3000' ] } }
pero headers['x-header-foo']
producen undefined. ¿Cómo obtengo el valor del encabezado? No he usado mucho los símbolos hasta ahora.
Como dijiste correctamente, los encabezados son símbolos y no objetos, por lo que para obtener valor, usas el método get
Obtenga más información sobre los símbolos aquí . El símbolo es un objeto integrado cuyo constructor devuelve una primitiva de símbolo, también denominada valor de símbolo o simplemente símbolo, que se garantiza que es única.
Los encabezados son símbolos y no objetos, por lo que para obtener valor, utiliza el método de obtención
const host = req.headers.get("host"); // stackoverflow.com
Si desea desestructurar usando Símbolos:
let symbol = Symbol() let obj = { [symbol] : 'value'} let { [symbol]: alias } = obj console.log(alias)