apollo-angular-link-headers
Version:
An Apollo Link to easily transform headers from being a key-value object to an instance of HttpHeaders. Great combination with apollo-angular-link-http.
13 lines • 1.96 kB
JavaScript
import { HttpHeaders } from '@angular/common/http';
import { ApolloLink } from 'apollo-link';
export const httpHeaders = () => {
return new ApolloLink((operation, forward) => {
const { getContext, setContext } = operation;
const context = getContext();
if (context.headers) {
setContext(Object.assign(Object.assign({}, context), { headers: new HttpHeaders(context.headers) }));
}
return forward(operation);
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQXNCLE1BQU0sYUFBYSxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDOUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFNBQW9CLEVBQUUsT0FBaUIsRUFBRSxFQUFFO1FBQ2hFLE1BQU0sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBRTdCLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixVQUFVLGlDQUNMLE9BQU8sS0FDVixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUN6QyxDQUFDO1NBQ0o7UUFFRCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QXBvbGxvTGluaywgT3BlcmF0aW9uLCBOZXh0TGlua30gZnJvbSAnYXBvbGxvLWxpbmsnO1xuXG5leHBvcnQgY29uc3QgaHR0cEhlYWRlcnMgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgQXBvbGxvTGluaygob3BlcmF0aW9uOiBPcGVyYXRpb24sIGZvcndhcmQ6IE5leHRMaW5rKSA9PiB7XG4gICAgY29uc3Qge2dldENvbnRleHQsIHNldENvbnRleHR9ID0gb3BlcmF0aW9uO1xuICAgIGNvbnN0IGNvbnRleHQgPSBnZXRDb250ZXh0KCk7XG5cbiAgICBpZiAoY29udGV4dC5oZWFkZXJzKSB7XG4gICAgICBzZXRDb250ZXh0KHtcbiAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKGNvbnRleHQuaGVhZGVycyksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9yd2FyZChvcGVyYXRpb24pO1xuICB9KTtcbn07XG4iXX0=