Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-unixfs
Commits
12b0ebff
Commit
12b0ebff
authored
Oct 22, 2014
by
Matt Bell
Committed by
Juan Batiz-Benet
Nov 14, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server/http: Use Response as Reader instead of manually getting output data
parent
75647423
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
21 deletions
+4
-21
server/http/http.go
server/http/http.go
+4
-21
No files found.
server/http/http.go
View file @
12b0ebff
...
...
@@ -112,27 +112,10 @@ func (i *apiHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
}
}
val
:=
res
.
Value
()
// if the output value is a io.Reader, stream its output in the request body
if
stream
,
ok
:=
val
.
(
io
.
Reader
);
ok
{
io
.
Copy
(
w
,
stream
)
return
}
// otherwise, marshall and output the response value or error
if
val
!=
nil
||
res
.
Error
()
!=
nil
{
output
,
err
:=
res
.
Marshal
()
if
err
!=
nil
{
w
.
WriteHeader
(
http
.
StatusInternalServerError
)
fmt
.
Println
(
err
)
return
}
if
output
!=
nil
{
w
.
Write
(
output
)
}
_
,
err
=
io
.
Copy
(
w
,
res
)
if
err
!=
nil
{
w
.
WriteHeader
(
http
.
StatusInternalServerError
)
w
.
Write
([]
byte
(
err
.
Error
()))
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment