mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-24 04:04:06 -08:00
fix(Nextcloud Node): Throw an actual error if server responded with Fatal error (#8234)
## Summary Nextcloud and Yourls receiving response with OK status as string containing 'Fatal error', throw an actual error in such case ![image](https://github.com/n8n-io/n8n/assets/88898367/7cba4b8c-3b34-476f-8a35-e10738022427) ## Related tickets and issues https://linear.app/n8n/issue/NODE-1035/nextcloud-and-yourls-throw-an-actual-error-if-server-responded-with
This commit is contained in:
parent
6e78d2346e
commit
b201ff8f23
|
@ -1,4 +1,4 @@
|
|||
import type { IExecuteFunctions, IHookFunctions } from 'n8n-workflow';
|
||||
import { NodeOperationError, type IExecuteFunctions, type IHookFunctions } from 'n8n-workflow';
|
||||
|
||||
import type { OptionsWithUri } from 'request';
|
||||
|
||||
|
@ -52,5 +52,18 @@ export async function nextCloudApiRequest(
|
|||
|
||||
const credentialType =
|
||||
authenticationMethod === 'accessToken' ? 'nextCloudApi' : 'nextCloudOAuth2Api';
|
||||
return this.helpers.requestWithAuthentication.call(this, credentialType, options);
|
||||
|
||||
const response = await this.helpers.requestWithAuthentication.call(this, credentialType, options);
|
||||
|
||||
if (typeof response === 'string' && response.includes('<b>Fatal error</b>')) {
|
||||
throw new NodeOperationError(
|
||||
this.getNode(),
|
||||
"NextCloud responded with a 'Fatal error', check description for more details",
|
||||
{
|
||||
description: `Server response:\n${response}`,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
|
|
@ -37,6 +37,16 @@ export async function yourlsApiRequest(
|
|||
);
|
||||
}
|
||||
|
||||
if (typeof response === 'string' && response.includes('<b>Fatal error</b>')) {
|
||||
throw new NodeOperationError(
|
||||
this.getNode(),
|
||||
"Yourls responded with a 'Fatal error', check description for more details",
|
||||
{
|
||||
description: `Server response:\n${response}`,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return response;
|
||||
} catch (error) {
|
||||
throw new NodeApiError(this.getNode(), error as JsonObject);
|
||||
|
|
2387
test-results.json
Normal file
2387
test-results.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue