mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-24 20:24:05 -08:00
fix(FileMaker Node): Improve returned error responses (#6585)
This commit is contained in:
parent
2acd71eeb1
commit
91a052e4c5
|
@ -698,10 +698,11 @@ export class FileMaker implements INodeType {
|
|||
const credentials = await this.getCredentials('fileMaker');
|
||||
|
||||
let token;
|
||||
|
||||
try {
|
||||
token = await getToken.call(this);
|
||||
} catch (error) {
|
||||
throw new NodeOperationError(this.getNode(), new Error('Login fail', { cause: error }));
|
||||
throw new NodeOperationError(this.getNode(), error as string);
|
||||
}
|
||||
|
||||
let requestOptions: OptionsWithUri;
|
||||
|
@ -818,21 +819,19 @@ export class FileMaker implements INodeType {
|
|||
try {
|
||||
response = await this.helpers.request(requestOptions);
|
||||
} catch (error) {
|
||||
response = error.response.body;
|
||||
response = error.error;
|
||||
}
|
||||
|
||||
if (typeof response === 'string') {
|
||||
throw new NodeOperationError(
|
||||
this.getNode(),
|
||||
'Response body is not valid JSON. Change "Response Format" to "String"',
|
||||
'DataAPI response body is not valid JSON. Is the DataAPI enabled?',
|
||||
{ itemIndex: i },
|
||||
);
|
||||
}
|
||||
returnData.push({ json: response });
|
||||
}
|
||||
} catch (error) {
|
||||
await logout.call(this, token as string);
|
||||
|
||||
if (error.node) {
|
||||
throw error;
|
||||
}
|
||||
|
@ -843,6 +842,7 @@ export class FileMaker implements INodeType {
|
|||
);
|
||||
}
|
||||
|
||||
await logout.call(this, token as string);
|
||||
return this.prepareOutputData(returnData);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,13 +70,22 @@ export async function getToken(
|
|||
if (typeof response === 'string') {
|
||||
throw new NodeOperationError(
|
||||
this.getNode(),
|
||||
'Response body is not valid JSON. Change "Response Format" to "String"',
|
||||
'DataAPI response body is not valid JSON. Is the DataAPI enabled?',
|
||||
);
|
||||
}
|
||||
|
||||
return response.response.token;
|
||||
} catch (error) {
|
||||
throw new NodeApiError(this.getNode(), error as JsonObject);
|
||||
let message
|
||||
if ( error.statusCode === 502 ) {
|
||||
message = 'The server is not responding. Is the DataAPI enabled?'
|
||||
}
|
||||
else if (error.error ) {
|
||||
message = error.error.messages[0].code + ' - ' + error.error.messages[0].message
|
||||
} else {
|
||||
message = error.message;
|
||||
}
|
||||
throw new Error(message);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -257,25 +266,8 @@ export async function logout(
|
|||
//rejectUnauthorized: !this.getNodeParameter('allowUnauthorizedCerts', itemIndex, false) as boolean,
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await this.helpers.request(requestOptions);
|
||||
|
||||
if (typeof response === 'string') {
|
||||
throw new NodeOperationError(
|
||||
this.getNode(),
|
||||
'Response body is not valid JSON. Change "Response Format" to "String"',
|
||||
);
|
||||
}
|
||||
|
||||
return response;
|
||||
} catch (error) {
|
||||
const errorMessage = `${error.response.body.messages[0].message}'(' + ${error.response.body.messages[0].message}')'`;
|
||||
|
||||
if (errorMessage !== undefined) {
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
throw error.response.body;
|
||||
}
|
||||
const response = await this.helpers.request(requestOptions);
|
||||
return response
|
||||
}
|
||||
|
||||
export function parseSort(this: IExecuteFunctions, i: number): object | null {
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 62 KiB |
Loading…
Reference in a new issue