Retrieve http response status code as number instead as string

This commit is contained in:
Giuseppe
2018-10-11 11:19:25 +02:00
parent f8620d5c12
commit ead86ad94e
9 changed files with 26 additions and 27 deletions

View File

@@ -25,7 +25,7 @@ export class AuthResponseParsingService extends BaseResponseParsingService imple
} }
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { 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<AuthStatus, AuthType>(data.payload, request.href); const response = this.process<AuthStatus, AuthType>(data.payload, request.href);
return new AuthStatusResponse(response[Object.keys(response)[0]][0], data.statusCode); return new AuthStatusResponse(response[Object.keys(response)[0]][0], data.statusCode);
} else { } else {

View File

@@ -93,7 +93,7 @@ export class RemoteDataBuildService {
isSuccessful = resEntry.response.isSuccessful; isSuccessful = resEntry.response.isSuccessful;
const errorMessage = isSuccessful === false ? (resEntry.response as ErrorResponse).errorMessage : undefined; const errorMessage = isSuccessful === false ? (resEntry.response as ErrorResponse).errorMessage : undefined;
if (hasValue(errorMessage)) { if (hasValue(errorMessage)) {
error = new RemoteDataError(resEntry.response.statusCode, errorMessage); error = new RemoteDataError(resEntry.response.statusCode.toString(), errorMessage);
} }
} }

View File

@@ -18,7 +18,7 @@ export class RestResponse {
constructor( constructor(
public isSuccessful: boolean, public isSuccessful: boolean,
public statusCode: string, public statusCode: number,
) { ) {
} }
} }
@@ -26,7 +26,7 @@ export class RestResponse {
export class DSOSuccessResponse extends RestResponse { export class DSOSuccessResponse extends RestResponse {
constructor( constructor(
public resourceSelfLinks: string[], public resourceSelfLinks: string[],
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -36,7 +36,7 @@ export class DSOSuccessResponse extends RestResponse {
export class RegistryMetadataschemasSuccessResponse extends RestResponse { export class RegistryMetadataschemasSuccessResponse extends RestResponse {
constructor( constructor(
public metadataschemasResponse: RegistryMetadataschemasResponse, public metadataschemasResponse: RegistryMetadataschemasResponse,
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -46,7 +46,7 @@ export class RegistryMetadataschemasSuccessResponse extends RestResponse {
export class RegistryMetadatafieldsSuccessResponse extends RestResponse { export class RegistryMetadatafieldsSuccessResponse extends RestResponse {
constructor( constructor(
public metadatafieldsResponse: RegistryMetadatafieldsResponse, public metadatafieldsResponse: RegistryMetadatafieldsResponse,
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -56,7 +56,7 @@ export class RegistryMetadatafieldsSuccessResponse extends RestResponse {
export class RegistryBitstreamformatsSuccessResponse extends RestResponse { export class RegistryBitstreamformatsSuccessResponse extends RestResponse {
constructor( constructor(
public bitstreamformatsResponse: RegistryBitstreamformatsResponse, public bitstreamformatsResponse: RegistryBitstreamformatsResponse,
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -66,7 +66,7 @@ export class RegistryBitstreamformatsSuccessResponse extends RestResponse {
export class MetadataschemaSuccessResponse extends RestResponse { export class MetadataschemaSuccessResponse extends RestResponse {
constructor( constructor(
public metadataschema: MetadataSchema, public metadataschema: MetadataSchema,
public statusCode: string public statusCode: number
) { ) {
super(true, statusCode); super(true, statusCode);
} }
@@ -75,7 +75,7 @@ export class MetadataschemaSuccessResponse extends RestResponse {
export class SearchSuccessResponse extends RestResponse { export class SearchSuccessResponse extends RestResponse {
constructor( constructor(
public results: SearchQueryResponse, public results: SearchQueryResponse,
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -85,7 +85,7 @@ export class SearchSuccessResponse extends RestResponse {
export class FacetConfigSuccessResponse extends RestResponse { export class FacetConfigSuccessResponse extends RestResponse {
constructor( constructor(
public results: SearchFilterConfig[], public results: SearchFilterConfig[],
public statusCode: string public statusCode: number
) { ) {
super(true, statusCode); super(true, statusCode);
} }
@@ -98,7 +98,7 @@ export class FacetValueMap {
export class FacetValueSuccessResponse extends RestResponse { export class FacetValueSuccessResponse extends RestResponse {
constructor( constructor(
public results: FacetValue[], public results: FacetValue[],
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo) { public pageInfo?: PageInfo) {
super(true, statusCode); super(true, statusCode);
} }
@@ -107,7 +107,7 @@ export class FacetValueSuccessResponse extends RestResponse {
export class FacetValueMapSuccessResponse extends RestResponse { export class FacetValueMapSuccessResponse extends RestResponse {
constructor( constructor(
public results: FacetValueMap, public results: FacetValueMap,
public statusCode: string, public statusCode: number,
) { ) {
super(true, statusCode); super(true, statusCode);
} }
@@ -120,7 +120,7 @@ export class EndpointMap {
export class EndpointMapSuccessResponse extends RestResponse { export class EndpointMapSuccessResponse extends RestResponse {
constructor( constructor(
public endpointMap: EndpointMap, public endpointMap: EndpointMap,
public statusCode: string, public statusCode: number,
) { ) {
super(true, statusCode); super(true, statusCode);
} }
@@ -129,7 +129,7 @@ export class EndpointMapSuccessResponse extends RestResponse {
export class GenericSuccessResponse<T> extends RestResponse { export class GenericSuccessResponse<T> extends RestResponse {
constructor( constructor(
public payload: T, public payload: T,
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -149,7 +149,7 @@ export class ErrorResponse extends RestResponse {
export class ConfigSuccessResponse extends RestResponse { export class ConfigSuccessResponse extends RestResponse {
constructor( constructor(
public configDefinition: ConfigObject[], public configDefinition: ConfigObject[],
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -161,7 +161,7 @@ export class AuthStatusResponse extends RestResponse {
constructor( constructor(
public response: AuthStatus, public response: AuthStatus,
public statusCode: string public statusCode: number
) { ) {
super(true, statusCode); super(true, statusCode);
} }
@@ -170,7 +170,7 @@ export class AuthStatusResponse extends RestResponse {
export class IntegrationSuccessResponse extends RestResponse { export class IntegrationSuccessResponse extends RestResponse {
constructor( constructor(
public dataDefinition: IntegrationModel[], public dataDefinition: IntegrationModel[],
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -180,7 +180,7 @@ export class IntegrationSuccessResponse extends RestResponse {
export class PostPatchSuccessResponse extends RestResponse { export class PostPatchSuccessResponse extends RestResponse {
constructor( constructor(
public dataDefinition: any[], public dataDefinition: any[],
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -190,7 +190,7 @@ export class PostPatchSuccessResponse extends RestResponse {
export class SubmissionSuccessResponse extends RestResponse { export class SubmissionSuccessResponse extends RestResponse {
constructor( constructor(
public dataDefinition: Array<NormalizedObject | ConfigObject | string>, public dataDefinition: Array<NormalizedObject | ConfigObject | string>,
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);
@@ -200,7 +200,7 @@ export class SubmissionSuccessResponse extends RestResponse {
export class EpersonSuccessResponse extends RestResponse { export class EpersonSuccessResponse extends RestResponse {
constructor( constructor(
public epersonDefinition: NormalizedObject[], public epersonDefinition: NormalizedObject[],
public statusCode: string, public statusCode: number,
public pageInfo?: PageInfo public pageInfo?: PageInfo
) { ) {
super(true, statusCode); super(true, statusCode);

View File

@@ -27,7 +27,7 @@ export class ConfigResponseParsingService extends BaseResponseParsingService imp
} }
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { 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<ConfigObject,ConfigType>(data.payload, request.href); const configDefinition = this.process<ConfigObject,ConfigType>(data.payload, request.href);
return new ConfigSuccessResponse(configDefinition[Object.keys(configDefinition)[0]], data.statusCode, this.processPageInfo(data.payload)); return new ConfigSuccessResponse(configDefinition[Object.keys(configDefinition)[0]], data.statusCode, this.processPageInfo(data.payload));
} else { } else {

View File

@@ -138,7 +138,6 @@ export abstract class DataService<TNormalized extends NormalizedObject, TDomain>
.filter((href: string) => hasValue(href)) .filter((href: string) => hasValue(href))
.take(1) .take(1)
.subscribe((href: string) => { .subscribe((href: string) => {
console.log(href);
const request = new FindAllRequest(this.requestService.generateRequestId(), href, options); const request = new FindAllRequest(this.requestService.generateRequestId(), href, options);
this.requestService.configure(request, true); this.requestService.configure(request, true);
}); });

View File

@@ -303,6 +303,6 @@ export class EpersonRequest extends GetRequest {
} }
export class RequestError extends Error { export class RequestError extends Error {
statusText: string; statusText: number;
} }
/* tslint:enable:max-classes-per-file */ /* tslint:enable:max-classes-per-file */

View File

@@ -8,5 +8,5 @@ export interface DSpaceRESTV2Response {
page?: any; page?: any;
}, },
headers?: HttpHeaders, headers?: HttpHeaders,
statusCode: string statusCode: number
} }

View File

@@ -67,7 +67,7 @@ export class DSpaceRESTv2Service {
requestOptions.responseType = options.responseType; requestOptions.responseType = options.responseType;
} }
return this.http.request(method, url, requestOptions) 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) => { .catch((err) => {
console.log('Error: ', err); console.log('Error: ', err);
return Observable.throw(err); return Observable.throw(err);

View File

@@ -33,10 +33,10 @@ export class SubmissionResponseParsingService extends BaseResponseParsingService
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse { parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse {
if (isNotEmpty(data.payload) if (isNotEmpty(data.payload)
&& isNotEmpty(data.payload._links) && isNotEmpty(data.payload._links)
&& (data.statusCode === '201' || data.statusCode === '200' || data.statusCode === 'OK')) { && (data.statusCode === 201 || data.statusCode === 200)) {
const dataDefinition = this.processResponse<NormalizedObject | ConfigObject, SubmissionResourceType>(data.payload, request.href); const dataDefinition = this.processResponse<NormalizedObject | ConfigObject, SubmissionResourceType>(data.payload, request.href);
return new SubmissionSuccessResponse(dataDefinition[Object.keys(dataDefinition)[0]], data.statusCode, this.processPageInfo(data.payload)); 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 // Response from a DELETE request
return new SubmissionSuccessResponse(null, data.statusCode); return new SubmissionSuccessResponse(null, data.statusCode);
} else { } else {