🐛 Fix issue where the QS would be ignored (#3967)

This commit is contained in:
agobrech 2022-08-29 15:28:17 +02:00 committed by GitHub
parent ff31b961b7
commit 9017fd463f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View file

@ -273,7 +273,7 @@ export class Aws implements ICredentialType {
requestOptions: IHttpRequestOptions, requestOptions: IHttpRequestOptions,
): Promise<IHttpRequestOptions> { ): Promise<IHttpRequestOptions> {
let endpoint; let endpoint;
let service = requestOptions.qs?.service; let service = requestOptions.qs?.service as string;
let path = requestOptions.qs?.path; let path = requestOptions.qs?.path;
const method = requestOptions.method; const method = requestOptions.method;
const body = requestOptions.body; const body = requestOptions.body;
@ -314,9 +314,10 @@ export class Aws implements ICredentialType {
path = customUrl.pathname as string; path = customUrl.pathname as string;
endpoint = customUrl; endpoint = customUrl;
} }
if (service === 's3' && credentials.s3Endpoint) { if (service.includes('.s3')) {
path = `${endpoint.pathname}?${queryToString(query).replace(/\+/g, '%2B')}`; path = `${endpoint.pathname}?${queryToString(query).replace(/\+/g, '%2B')}`;
} }
const signOpts = { const signOpts = {
headers: requestOptions.headers, headers: requestOptions.headers,
host: endpoint.host, host: endpoint.host,

View file

@ -15,7 +15,13 @@ import {
IWebhookFunctions, IWebhookFunctions,
} from 'n8n-core'; } from 'n8n-core';
import { IDataObject, IHttpRequestOptions, JsonObject, NodeApiError, NodeOperationError } from 'n8n-workflow'; import {
IDataObject,
IHttpRequestOptions,
JsonObject,
NodeApiError,
NodeOperationError,
} from 'n8n-workflow';
export async function awsApiRequest( export async function awsApiRequest(
this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions | IWebhookFunctions, this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions | IWebhookFunctions,
@ -32,6 +38,7 @@ export async function awsApiRequest(
const credentials = await this.getCredentials('aws'); const credentials = await this.getCredentials('aws');
const requestOptions = { const requestOptions = {
qs: { qs: {
...query,
service, service,
path, path,
query, query,