Skip to content

Commit 0bb15a9

Browse files
authored
Implement bodysummary without private APIs
1 parent 8f9eb57 commit 0bb15a9

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/Messages.jl

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,8 +583,17 @@ The first chunk of the Message Body (for display purposes).
583583
bodysummary(body) = isbytes(body) ? view(bytes(body), 1:min(nbytes(body), BODY_SHOW_MAX[])) : "[Message Body was streamed]"
584584
bodysummary(body::Union{AbstractDict, NamedTuple}) = URIs.escapeuri(body)
585585
function bodysummary(body::Form)
586-
if length(body.data) == 1 && isa(body.data[1], IOBuffer)
587-
return body.data[1].data[1:body.data[1].ptr-1]
586+
if length(body.data) == 1
587+
data = body.data[1]
588+
if data isa Base.GenericIOBuffer && data.seekable
589+
oldmark = data.mark
590+
m = mark(data)
591+
seekstart(data)
592+
content = read(data, m)
593+
reset(data)
594+
data.mark = oldmark
595+
return content
596+
end
588597
end
589598
return "[Message Body was streamed]"
590599
end

0 commit comments

Comments
 (0)