ps2census
Version:
Client to connect to the PS2 Event Stream websocket.
46 lines • 1.96 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RestClient = void 0;
const axios_1 = __importDefault(require("axios"));
const census_server_error_1 = require("./exceptions/census-server.error");
const census_rest_exception_1 = require("./exceptions/census-rest.exception");
const get_query_1 = require("./get.query");
class RestClient {
constructor(environment, { serviceId, baseURL = RestClient.CENSUS_HTTPS, axios = {}, } = {}) {
this.environment = environment;
if (serviceId)
baseURL += `/s:${serviceId}`;
else
console.warn('RestClient is missing a ServiceID, it is recommended to use one. https://census.daybreakgames.com/#service-id');
this.api = axios_1.default.create({
baseURL,
maxRedirects: 0,
transformResponse(data) {
data = JSON.parse(data);
if (data.errorMessage || data.errorCode)
throw new census_server_error_1.CensusServerError(data);
if (data.error)
throw new census_rest_exception_1.CensusRestException(data.error);
return data;
},
...axios,
});
}
getQueryBuilder(collection) {
return new get_query_1.GetQuery(this, collection);
}
async count(collection, query) {
const { data } = await this.api.get(`/count/${this.environment}:v2/${collection}`, { params: query });
return data.count;
}
async get(collection, params) {
const { data } = await this.api.get(`/get/${this.environment}:v2/${collection}`, { params });
return data;
}
}
exports.RestClient = RestClient;
RestClient.CENSUS_HTTPS = 'https://census.daybreakgames.com';
//# sourceMappingURL=rest.client.js.map