diff --git a/lib/query/taxonomy/base-taxonomy-query.class.ts b/lib/query/taxonomy/base-taxonomy-query.class.ts index b96875f9..cdf707e9 100644 --- a/lib/query/taxonomy/base-taxonomy-query.class.ts +++ b/lib/query/taxonomy/base-taxonomy-query.class.ts @@ -13,6 +13,9 @@ import { QueryConfig } from '../../models/common/query.config'; // base query import { BaseQuery } from '../common/base-query.class'; +// models +import { IHeader } from '../../interfaces/common/iheader.interface'; + // rxjs import { Observable } from 'rxjs/Rx'; @@ -28,6 +31,10 @@ export abstract class BaseTaxonomyQuery extends BaseQuery { super(config) } + getHeaders(): IHeader[] { + return super.getHeadersInternal(this.queryConfig); + } + protected getTaxonomyQueryUrl(taxonomyCodename: string): string { var action = '/' + this.taxonomiesEndpoint + '/' + taxonomyCodename; @@ -41,10 +48,10 @@ export abstract class BaseTaxonomyQuery extends BaseQuery { } protected runTaxonomyQuery(codename: string): Observable { - return super.getTaxonomy(this.getTaxonomyQueryUrl(codename)); + return super.getTaxonomy(this.getTaxonomyQueryUrl(codename), this.queryConfig); } protected runTaxonomiesQuery(): Observable { - return super.getTaxonomies(this.getTaxonomiesQueryUrl()); + return super.getTaxonomies(this.getTaxonomiesQueryUrl(), this.queryConfig); } } \ No newline at end of file diff --git a/lib/query/type/base-type-query.class.ts b/lib/query/type/base-type-query.class.ts index 68a40ca0..fa991914 100644 --- a/lib/query/type/base-type-query.class.ts +++ b/lib/query/type/base-type-query.class.ts @@ -13,6 +13,9 @@ import { ItemQueryConfig } from '../../models/item/item-query.config'; // base query import { BaseQuery } from '../common/base-query.class'; +// models +import { IHeader } from '../../interfaces/common/iheader.interface'; + // rxjs import { Observable } from 'rxjs/Rx'; @@ -27,6 +30,10 @@ export abstract class BaseTypeQuery extends BaseQuery { super(config) } + getHeaders(): IHeader[] { + return super.getHeadersInternal(this._queryConfig); + } + protected getSingleTypeQueryUrl(codename: string): string { var action = '/types/' + codename; @@ -40,10 +47,10 @@ export abstract class BaseTypeQuery extends BaseQuery { } protected runMultipleTypesQuery(): Observable { - return super.getMultipleTypes(this.getMultipleTypesQueryUrl()); + return super.getMultipleTypes(this.getMultipleTypesQueryUrl(), this._queryConfig); } protected runSingleTypeQuery(codename: string): Observable { - return super.getSingleType(this.getSingleTypeQueryUrl(codename)); + return super.getSingleType(this.getSingleTypeQueryUrl(codename), this._queryConfig); } } \ No newline at end of file diff --git a/lib/services/query.service.ts b/lib/services/query.service.ts index 5c516915..9ae5432a 100644 --- a/lib/services/query.service.ts +++ b/lib/services/query.service.ts @@ -251,8 +251,8 @@ export abstract class QueryService { }); } - protected getSingleType(url: string): Observable { - return ajax.getJSON(url) + protected getSingleType(url: string, queryConfig: IQueryConfig): Observable { + return ajax.getJSON(url, this.getHeadersJson(queryConfig)) .map(json => { return this.getSingleTypeResponse(json) }) @@ -261,8 +261,8 @@ export abstract class QueryService { }); } - protected getMultipleTypes(url: string): Observable { - return ajax.getJSON(url) + protected getMultipleTypes(url: string, queryConfig: IQueryConfig): Observable { + return ajax.getJSON(url, this.getHeadersJson(queryConfig)) .map(json => { return this.getMultipleTypeResponse(json) }) @@ -271,8 +271,8 @@ export abstract class QueryService { }); } - protected getTaxonomy(url: string): Observable { - return ajax.getJSON(url) + protected getTaxonomy(url: string, queryConfig: IQueryConfig): Observable { + return ajax.getJSON(url, this.getHeadersJson(queryConfig)) .map(json => { return this.getTaxonomyResponse(json) }) @@ -281,8 +281,8 @@ export abstract class QueryService { }); } - protected getTaxonomies(url: string): Observable { - return ajax.getJSON(url) + protected getTaxonomies(url: string, queryConfig: IQueryConfig): Observable { + return ajax.getJSON(url, this.getHeadersJson(queryConfig)) .map(json => { return this.getTaxonomiesResponse(json) }) diff --git a/test/isolated-tests/url/preview-url.spec.ts b/test/isolated-tests/url/preview-url.spec.ts index 321e79e0..7cacd178 100644 --- a/test/isolated-tests/url/preview-url.spec.ts +++ b/test/isolated-tests/url/preview-url.spec.ts @@ -25,12 +25,24 @@ describe('Preview URL', () => { expect(url).toContain(context.projectId) }); - it(`preview authorization header should be defined (global config)'`, () => { + it(`preview authorization header should be defined when getting items (global config)'`, () => { var headers = context.deliveryClient.items().getHeaders(); var authorizationHeader = headers.find(m => m.header === 'authorization'); expect(authorizationHeader).toBeDefined() }); + it(`preview authorization header should be defined when getting taxonomies (global config)'`, () => { + var headers = context.deliveryClient.types().getHeaders(); + var authorizationHeader = headers.find(m => m.header === 'authorization'); + expect(authorizationHeader).toBeDefined() + }); + + it(`preview authorization header should be defined for getting types (global config)'`, () => { + var headers = context.deliveryClient.taxonomies().getHeaders(); + var authorizationHeader = headers.find(m => m.header === 'authorization'); + expect(authorizationHeader).toBeDefined() + }); + it(`preview authorization header should contain preview API key (global config)'`, () => { var headers = context.deliveryClient.items().getHeaders(); var authorizationHeader = headers.find(m => m.header === 'authorization');