Compare commits

...

4 Commits

Author SHA1 Message Date
Will Toozs 573e0edf5f
fixup: key too long error update 2024-07-15 13:12:26 +02:00
Will Toozs d8fc234ad0
call obejct action 2024-07-11 12:15:51 +02:00
Will Toozs 1016c27085
ARSN-422: update max post field length error 2024-07-01 17:34:13 +02:00
Will Toozs 6a568af0ef
ARSN-422: add objectPost callApiMethod 2024-07-01 17:34:11 +02:00
8 changed files with 26 additions and 9 deletions

View File

@ -247,7 +247,7 @@ export const InvalidURI: ErrorFormat = {
description: "Couldn't parse the specified URI.",
};
export const KeyTooLong: ErrorFormat = {
export const KeyTooLongError: ErrorFormat = {
code: 400,
description: 'Your key is too long.',
};
@ -281,10 +281,10 @@ export const MaxMessageLengthExceeded: ErrorFormat = {
description: 'Your request was too big.',
};
export const MaxPostPreDataLengthExceededError: ErrorFormat = {
export const MaxPostPreDataLengthExceeded: ErrorFormat = {
code: 400,
description:
'Your POST request fields preceding the upload file were too large.',
'Your POST request fields preceeding the upload file was too large.',
};
export const MetadataTooLarge: ErrorFormat = {

View File

@ -8,7 +8,7 @@ import * as http from 'http';
export default function routeDELETE(
request: http.IncomingMessage,
response: http.ServerResponse,
api: { callApiMethod: routesUtils.CallApiMethod },
api: routesUtils.ApiMethods,
log: RequestLogger,
statsClient?: StatsClient,
) {

View File

@ -8,7 +8,7 @@ import StatsClient from '../../metrics/StatsClient';
export default function routerGET(
request: http.IncomingMessage,
response: http.ServerResponse,
api: { callApiMethod: routesUtils.CallApiMethod },
api: routesUtils.ApiMethods,
log: RequestLogger,
statsClient?: StatsClient,
dataRetrievalParams?: any,

View File

@ -8,7 +8,7 @@ import * as http from 'http';
export default function routeHEAD(
request: http.IncomingMessage,
response: http.ServerResponse,
api: { callApiMethod: routesUtils.CallApiMethod },
api: routesUtils.ApiMethods,
log: RequestLogger,
statsClient?: StatsClient,
) {

View File

@ -8,7 +8,7 @@ import StatsClient from '../../metrics/StatsClient';
export default function routeOPTIONS(
request: http.IncomingMessage,
response: http.ServerResponse,
api: { callApiMethod: routesUtils.CallApiMethod },
api: routesUtils.ApiMethods,
log: RequestLogger,
statsClient?: StatsClient,
) {

View File

@ -8,7 +8,7 @@ import * as http from 'http';
export default function routePOST(
request: http.IncomingMessage,
response: http.ServerResponse,
api: { callApiMethod: routesUtils.CallApiMethod },
api: routesUtils.ApiMethods,
log: RequestLogger,
) {
log.debug('routing request', { method: 'routePOST' });
@ -58,6 +58,10 @@ export default function routePOST(
corsHeaders));
}
if (objectKey === undefined && Object.keys(query).length === 0) {
return api.callPostObject!(request, response, log, (err, resHeaders) => routesUtils.responseNoBody(err, resHeaders, response, 204, log));
}
return routesUtils.responseNoBody(errors.NotImplemented, null, response,
200, log);
}

View File

@ -8,7 +8,7 @@ import StatsClient from '../../metrics/StatsClient';
export default function routePUT(
request: http.IncomingMessage,
response: http.ServerResponse,
api: { callApiMethod: routesUtils.CallApiMethod },
api: routesUtils.ApiMethods,
log: RequestLogger,
statsClient?: StatsClient,
) {

View File

@ -10,6 +10,11 @@ import * as constants from '../constants';
import DataWrapper from '../storage/data/DataWrapper';
import StatsClient from '../metrics/StatsClient';
export type ApiMethods = {
callApiMethod: CallApiMethod;
callPostObject?: CallPostObject;
};
export type CallApiMethod = (
methodName: string,
request: http.IncomingMessage,
@ -18,6 +23,14 @@ export type CallApiMethod = (
callback: (err: ArsenalError | null, ...data: any[]) => void,
) => void;
export type CallPostObject = (
request: http.IncomingMessage,
response: http.ServerResponse,
log: RequestLogger,
callback: (err: ArsenalError | null, ...data: any[]) => void,
) => void;
/**
* setCommonResponseHeaders - Set HTTP response headers
* @param headers - key and value of new headers to add