Skip to content

Commit 9b28484

Browse files
committed
Use unathenticated client for segment retrieval
Sending authorization headers will make S3 presigned uris to fail due to additional headers that cannot be present.
1 parent 099bb33 commit 9b28484

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

trino/client.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,15 @@ def http_headers(self) -> CaseInsensitiveDict[str]:
573573

574574
return headers
575575

576+
def unauthenticated(self):
577+
return TrinoRequest(
578+
host=self._host,
579+
port=self._port,
580+
max_attempts=self.max_attempts,
581+
request_timeout=self._request_timeout,
582+
handle_retry=self._handle_retry,
583+
client_session=ClientSession(user=self._client_session.user))
584+
576585
@property
577586
def max_attempts(self) -> int:
578587
return self._max_attempts
@@ -940,7 +949,7 @@ def _to_segments(self, rows: _SpooledProtocolResponseTO) -> List[DecodableSegmen
940949
segments.append(InlineSegment(inline_segment))
941950
elif segment_type == SegmentType.SPOOLED:
942951
spooled_segment = cast(_SpooledSegmentTO, segment)
943-
segments.append(SpooledSegment(spooled_segment, self._request))
952+
segments.append(SpooledSegment(spooled_segment, self._request.unauthenticated()))
944953
else:
945954
raise ValueError(f"Unsupported segment type: {segment_type}")
946955

0 commit comments

Comments
 (0)