diff --git a/s3/client.bal b/s3/client.bal index 03c90fd..ba4242d 100644 --- a/s3/client.bal +++ b/s3/client.bal @@ -300,16 +300,21 @@ public isolated client class Client { }; GET|PUT httpMethod; - if action is CREATE || action is ObjectCreationHeaders { + + if action is ObjectCreationHeaders { + httpMethod = PUT; + populateCreateObjectHeaders(requestHeaders, action); + } + + if action is ObjectRetrievalHeaders { + httpMethod = GET; + populateGetObjectHeaders(requestHeaders, action); + } + + if action is CREATE { httpMethod = PUT; - if action is ObjectCreationHeaders { - populateCreateObjectHeaders(requestHeaders, action); - } } else { httpMethod = GET; - if action is ObjectRetrievalHeaders { - populateGetObjectHeaders(requestHeaders, action); - } } [string, string] [canonicalHeaders, signedHeaders] = generateCanonicalHeaders(requestHeaders, ());