feat: added http status code enum
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { AxiosInstance } from 'axios';
|
import { AxiosInstance } from 'axios';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { ArgumentValidator } from './models/ArgumentValidator';
|
import { ArgumentValidator } from './models/ArgumentValidator';
|
||||||
|
import { EndpointFactory } from './models/EndpointFactory';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class OnspringClient - A client that can communicate with the Onspring API.
|
* @class OnspringClient - A client that can communicate with the Onspring API.
|
||||||
@@ -39,4 +40,19 @@ export class OnspringClient {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async canConnect(): Promise<boolean> {
|
||||||
|
const endpoint = EndpointFactory.getPingEndpoint(this._client.defaults.baseURL);
|
||||||
|
try {
|
||||||
|
var response = await this._client.get(endpoint);
|
||||||
|
return response.status === 200;
|
||||||
|
} catch (error) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async get<T>(endpoint: string): Promise<T> {
|
||||||
|
const response = await this._client.get<T>(endpoint);
|
||||||
|
return response.data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
export enum HttpStatusCode {
|
||||||
|
OK = 200,
|
||||||
|
Created = 201,
|
||||||
|
Accepted = 202,
|
||||||
|
NoContent = 204,
|
||||||
|
BadRequest = 400,
|
||||||
|
Unauthorized = 401,
|
||||||
|
Forbidden = 403,
|
||||||
|
NotFound = 404,
|
||||||
|
MethodNotAllowed = 405,
|
||||||
|
Conflict = 409,
|
||||||
|
InternalServerError = 500,
|
||||||
|
NotImplemented = 501,
|
||||||
|
BadGateway = 502,
|
||||||
|
ServiceUnavailable = 503,
|
||||||
|
GatewayTimeout = 504,
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
import { HttpStatusCode } from '../src/enums/HttpStatusCode';
|
||||||
|
import { expect } from 'chai';
|
||||||
|
|
||||||
|
describe('HttpStatusCode', () => {
|
||||||
|
describe('OK', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.OK;
|
||||||
|
expect(result).to.equal(200);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Created', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.Created;
|
||||||
|
expect(result).to.equal(201);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Accepted', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.Accepted;
|
||||||
|
expect(result).to.equal(202);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('NoContent', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.NoContent;
|
||||||
|
expect(result).to.equal(204);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('BadRequest', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.BadRequest;
|
||||||
|
expect(result).to.equal(400);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Unauthorized', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.Unauthorized;
|
||||||
|
expect(result).to.equal(401);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Forbidden', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.Forbidden;
|
||||||
|
expect(result).to.equal(403);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('NotFound', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.NotFound;
|
||||||
|
expect(result).to.equal(404);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('MethodNotAllowed', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.MethodNotAllowed;
|
||||||
|
expect(result).to.equal(405);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Conflict', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.Conflict;
|
||||||
|
expect(result).to.equal(409);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('InternalServerError', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.InternalServerError;
|
||||||
|
expect(result).to.equal(500);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('NotImplemented', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.NotImplemented;
|
||||||
|
expect(result).to.equal(501);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('BadGateway', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.BadGateway;
|
||||||
|
expect(result).to.equal(502);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('ServiceUnavailable', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.ServiceUnavailable;
|
||||||
|
expect(result).to.equal(503);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('GatewayTimeout', () => {
|
||||||
|
it('should return the correct value', () => {
|
||||||
|
const result = HttpStatusCode.GatewayTimeout;
|
||||||
|
expect(result).to.equal(504);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user