From ead86ad94e906a1ffe2a5fa628d24ab1e0bb86ed Mon Sep 17 00:00:00 2001 From: Giuseppe Date: Thu, 11 Oct 2018 11:19:25 +0200 Subject: [PATCH] Retrieve http response status code as number instead as string --- .../auth/auth-response-parsing.service.ts | 2 +- .../builders/remote-data-build.service.ts | 2 +- src/app/core/cache/response-cache.models.ts | 36 +++++++++---------- .../data/config-response-parsing.service.ts | 2 +- src/app/core/data/data.service.ts | 1 - src/app/core/data/request.models.ts | 2 +- .../dspace-rest-v2-response.model.ts | 2 +- .../dspace-rest-v2/dspace-rest-v2.service.ts | 2 +- .../submission-response-parsing.service.ts | 4 +-- 9 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/app/core/auth/auth-response-parsing.service.ts b/src/app/core/auth/auth-response-parsing.service.ts index 80c1b2eeca..06f68b495e 100644 --- a/src/app/core/auth/auth-response-parsing.service.ts +++ b/src/app/core/auth/auth-response-parsing.service.ts @@ -25,7 +25,7 @@ export class AuthResponseParsingService extends BaseResponseParsingService imple } parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { - if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) && (data.statusCode === '200' || data.statusCode === 'OK')) { + if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) && (data.statusCode === 200)) { const response = this.process(data.payload, request.href); return new AuthStatusResponse(response[Object.keys(response)[0]][0], data.statusCode); } else { diff --git a/src/app/core/cache/builders/remote-data-build.service.ts b/src/app/core/cache/builders/remote-data-build.service.ts index d576b9ea32..36e0f51af8 100644 --- a/src/app/core/cache/builders/remote-data-build.service.ts +++ b/src/app/core/cache/builders/remote-data-build.service.ts @@ -93,7 +93,7 @@ export class RemoteDataBuildService { isSuccessful = resEntry.response.isSuccessful; const errorMessage = isSuccessful === false ? (resEntry.response as ErrorResponse).errorMessage : undefined; if (hasValue(errorMessage)) { - error = new RemoteDataError(resEntry.response.statusCode, errorMessage); + error = new RemoteDataError(resEntry.response.statusCode.toString(), errorMessage); } } diff --git a/src/app/core/cache/response-cache.models.ts b/src/app/core/cache/response-cache.models.ts index 31ac797e5a..56a1c40eab 100644 --- a/src/app/core/cache/response-cache.models.ts +++ b/src/app/core/cache/response-cache.models.ts @@ -18,7 +18,7 @@ export class RestResponse { constructor( public isSuccessful: boolean, - public statusCode: string, + public statusCode: number, ) { } } @@ -26,7 +26,7 @@ export class RestResponse { export class DSOSuccessResponse extends RestResponse { constructor( public resourceSelfLinks: string[], - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -36,7 +36,7 @@ export class DSOSuccessResponse extends RestResponse { export class RegistryMetadataschemasSuccessResponse extends RestResponse { constructor( public metadataschemasResponse: RegistryMetadataschemasResponse, - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -46,7 +46,7 @@ export class RegistryMetadataschemasSuccessResponse extends RestResponse { export class RegistryMetadatafieldsSuccessResponse extends RestResponse { constructor( public metadatafieldsResponse: RegistryMetadatafieldsResponse, - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -56,7 +56,7 @@ export class RegistryMetadatafieldsSuccessResponse extends RestResponse { export class RegistryBitstreamformatsSuccessResponse extends RestResponse { constructor( public bitstreamformatsResponse: RegistryBitstreamformatsResponse, - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -66,7 +66,7 @@ export class RegistryBitstreamformatsSuccessResponse extends RestResponse { export class MetadataschemaSuccessResponse extends RestResponse { constructor( public metadataschema: MetadataSchema, - public statusCode: string + public statusCode: number ) { super(true, statusCode); } @@ -75,7 +75,7 @@ export class MetadataschemaSuccessResponse extends RestResponse { export class SearchSuccessResponse extends RestResponse { constructor( public results: SearchQueryResponse, - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -85,7 +85,7 @@ export class SearchSuccessResponse extends RestResponse { export class FacetConfigSuccessResponse extends RestResponse { constructor( public results: SearchFilterConfig[], - public statusCode: string + public statusCode: number ) { super(true, statusCode); } @@ -98,7 +98,7 @@ export class FacetValueMap { export class FacetValueSuccessResponse extends RestResponse { constructor( public results: FacetValue[], - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo) { super(true, statusCode); } @@ -107,7 +107,7 @@ export class FacetValueSuccessResponse extends RestResponse { export class FacetValueMapSuccessResponse extends RestResponse { constructor( public results: FacetValueMap, - public statusCode: string, + public statusCode: number, ) { super(true, statusCode); } @@ -120,7 +120,7 @@ export class EndpointMap { export class EndpointMapSuccessResponse extends RestResponse { constructor( public endpointMap: EndpointMap, - public statusCode: string, + public statusCode: number, ) { super(true, statusCode); } @@ -129,7 +129,7 @@ export class EndpointMapSuccessResponse extends RestResponse { export class GenericSuccessResponse extends RestResponse { constructor( public payload: T, - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -149,7 +149,7 @@ export class ErrorResponse extends RestResponse { export class ConfigSuccessResponse extends RestResponse { constructor( public configDefinition: ConfigObject[], - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -161,7 +161,7 @@ export class AuthStatusResponse extends RestResponse { constructor( public response: AuthStatus, - public statusCode: string + public statusCode: number ) { super(true, statusCode); } @@ -170,7 +170,7 @@ export class AuthStatusResponse extends RestResponse { export class IntegrationSuccessResponse extends RestResponse { constructor( public dataDefinition: IntegrationModel[], - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -180,7 +180,7 @@ export class IntegrationSuccessResponse extends RestResponse { export class PostPatchSuccessResponse extends RestResponse { constructor( public dataDefinition: any[], - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -190,7 +190,7 @@ export class PostPatchSuccessResponse extends RestResponse { export class SubmissionSuccessResponse extends RestResponse { constructor( public dataDefinition: Array, - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); @@ -200,7 +200,7 @@ export class SubmissionSuccessResponse extends RestResponse { export class EpersonSuccessResponse extends RestResponse { constructor( public epersonDefinition: NormalizedObject[], - public statusCode: string, + public statusCode: number, public pageInfo?: PageInfo ) { super(true, statusCode); diff --git a/src/app/core/data/config-response-parsing.service.ts b/src/app/core/data/config-response-parsing.service.ts index 4713a9be8e..a6ed7bd64c 100644 --- a/src/app/core/data/config-response-parsing.service.ts +++ b/src/app/core/data/config-response-parsing.service.ts @@ -27,7 +27,7 @@ export class ConfigResponseParsingService extends BaseResponseParsingService imp } parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { - if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) && (data.statusCode === '201' || data.statusCode === '200' || data.statusCode === 'OK')) { + if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) && (data.statusCode === 201 || data.statusCode === 200)) { const configDefinition = this.process(data.payload, request.href); return new ConfigSuccessResponse(configDefinition[Object.keys(configDefinition)[0]], data.statusCode, this.processPageInfo(data.payload)); } else { diff --git a/src/app/core/data/data.service.ts b/src/app/core/data/data.service.ts index 6287ce36d7..c734da5ae3 100644 --- a/src/app/core/data/data.service.ts +++ b/src/app/core/data/data.service.ts @@ -138,7 +138,6 @@ export abstract class DataService .filter((href: string) => hasValue(href)) .take(1) .subscribe((href: string) => { - console.log(href); const request = new FindAllRequest(this.requestService.generateRequestId(), href, options); this.requestService.configure(request, true); }); diff --git a/src/app/core/data/request.models.ts b/src/app/core/data/request.models.ts index 29a561281e..24921b7bb0 100644 --- a/src/app/core/data/request.models.ts +++ b/src/app/core/data/request.models.ts @@ -303,6 +303,6 @@ export class EpersonRequest extends GetRequest { } export class RequestError extends Error { - statusText: string; + statusText: number; } /* tslint:enable:max-classes-per-file */ diff --git a/src/app/core/dspace-rest-v2/dspace-rest-v2-response.model.ts b/src/app/core/dspace-rest-v2/dspace-rest-v2-response.model.ts index 17fb389707..5d8e71670d 100644 --- a/src/app/core/dspace-rest-v2/dspace-rest-v2-response.model.ts +++ b/src/app/core/dspace-rest-v2/dspace-rest-v2-response.model.ts @@ -8,5 +8,5 @@ export interface DSpaceRESTV2Response { page?: any; }, headers?: HttpHeaders, - statusCode: string + statusCode: number } diff --git a/src/app/core/dspace-rest-v2/dspace-rest-v2.service.ts b/src/app/core/dspace-rest-v2/dspace-rest-v2.service.ts index 78c93b8c08..ffa1abb005 100644 --- a/src/app/core/dspace-rest-v2/dspace-rest-v2.service.ts +++ b/src/app/core/dspace-rest-v2/dspace-rest-v2.service.ts @@ -67,7 +67,7 @@ export class DSpaceRESTv2Service { requestOptions.responseType = options.responseType; } return this.http.request(method, url, requestOptions) - .map((res) => ({ payload: res.body, headers: res.headers, statusCode: res.statusText })) + .map((res) => ({ payload: res.body, headers: res.headers, statusCode: res.status })) .catch((err) => { console.log('Error: ', err); return Observable.throw(err); diff --git a/src/app/core/submission/submission-response-parsing.service.ts b/src/app/core/submission/submission-response-parsing.service.ts index 7f02cfa2ef..2fd0a4756d 100644 --- a/src/app/core/submission/submission-response-parsing.service.ts +++ b/src/app/core/submission/submission-response-parsing.service.ts @@ -33,10 +33,10 @@ export class SubmissionResponseParsingService extends BaseResponseParsingService parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) - && (data.statusCode === '201' || data.statusCode === '200' || data.statusCode === 'OK')) { + && (data.statusCode === 201 || data.statusCode === 200)) { const dataDefinition = this.processResponse(data.payload, request.href); return new SubmissionSuccessResponse(dataDefinition[Object.keys(dataDefinition)[0]], data.statusCode, this.processPageInfo(data.payload)); - } else if (isEmpty(data.payload) && data.statusCode === '204') { + } else if (isEmpty(data.payload) && data.statusCode === 204) { // Response from a DELETE request return new SubmissionSuccessResponse(null, data.statusCode); } else {