1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-09-15 11:13:37 +08:00

165 Commits

Author SHA1 Message Date
ed23d99d6f fix panic where closenotify was called from wrong goroutine
Previously, this was the result when running a test with go1.6rc2:

    go test github.com/ipfs/go-ipfs/commands/http
    panic: net/http: CloseNotify called after ServeHTTP finished

    goroutine 19 [running]:
    net/http.(*response).CloseNotify(0xc8202ca1a0, 0x0)
        /home/r/go/src/net/http/server.go:1533 +0x9d
    github.com/ipfs/go-ipfs/commands/http.internalHandler.ServeHTTP.func2(0x7f42c9d1d180, 0xc8202ca1a0, 0x7f42c9d66e90, 0xc8200f0380, 0xc8201d40d0)
        /home/r/src/github.com/ipfs/go-ipfs/commands/http/handler.go:143 +0x39
    created by github.com/ipfs/go-ipfs/commands/http.internalHandler.ServeHTTP
        /home/r/src/github.com/ipfs/go-ipfs/commands/http/handler.go:147 +0x49d
    FAIL	github.com/ipfs/go-ipfs/commands/http	0.013s

I had also encountered this panic when trying to use the webui.

License: MIT
Signed-off-by: Robert Carlsen <rwcarlsen@gmail.com>
2016-02-08 15:49:58 -06:00
5a0b8023be Merge pull request #2256 from ipfs/feat/gx-libp2p
vendor libp2p with gx
2016-02-05 16:52:02 -08:00
b11abe283b Merge pull request #2267 from rht/wire/ctx-http-request-2
Directly wire ctx into http request
2016-02-04 10:24:26 -08:00
366d7db3d3 add command to view active api requests
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-02-01 15:44:43 -08:00
0e8a6700f9 correct go-log dep
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:10 -08:00
0e312f5caf initial vendoring of libp2p outside of the repo with gx
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:06 -08:00
rht
72e98deb93 Cleanup http client Send
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2016-01-30 10:22:46 +07:00
rht
45999946be Directly wire ctx into http request
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2016-01-30 10:19:27 +07:00
a2b0287a5f Merge pull request #2141 from Kubuxu/patch-1
Add Server field in HTTP API response header
2016-01-21 23:31:25 -08:00
rht
b9706815b3 Fix SetAllowedOrigins
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2016-01-21 10:55:38 +07:00
981b389a04 Add Server field in HTTP API
Resolves #625
Included in tests.

License: MIT
Signed-off-by: Jakub (Kubuxu) Sztandera <kubuxu@gmail.com>
2016-01-20 18:30:39 +01:00
9c641f9906 cleanup multipart
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
a9d6575b7c fix tests
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
d892661f3e Flatten multipart file transfers
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
rht
743f3edcbb strings.Split -> path.SplitList
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2016-01-12 08:22:55 -08:00
rht
ffd859232d Replace strings.Join(elms, "/") with path.Join(elms)
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2016-01-12 08:22:55 -08:00
6faa70ee59 implement ipfs files command
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
8711c6635d make opt skip map a global
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-28 05:47:33 -08:00
cfb1a69184 cleanup http client code
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-28 04:18:56 -08:00
8ad1141436 fixup panic catching in http handler funcs
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-28 04:18:56 -08:00
rht
aabf80723d Move api version string to repo config
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-12-28 03:48:50 -08:00
rht
0123971118 Move api version check to header
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-12-28 03:48:50 -08:00
74b8a0ffaf fix tests
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-06 15:31:02 -08:00
bdc1b27c51 hard code things
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-30 14:43:37 -08:00
2f5563b3c0 fix log hanging issue, and implement close-notify for commands
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-05 15:57:28 -08:00
94bdce63a7 vendor logging lib update
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-05 15:57:21 -08:00
bb9493ac7c content type on command responses default to text
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-29 02:11:09 -07:00
c023d187b5 update code to use new logging changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-27 11:04:56 -07:00
4470826fe2 fix streaming output to flush per write
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-21 14:51:03 -07:00
27eece3e81 Merge pull request #1835 from miolini/master
fix races in http cors
2015-10-20 12:47:06 -07:00
4555085844 fix races in http cors
License: MIT
Signed-off-by: Artem Andreenko <mio@volmy.com>
2015-10-13 01:09:55 +03:00
e89f7b8ded use go's built in handling of trailers and dont do custom chunking
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

use go1.5 syntax to ensure builds on older versions fail

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

fix t0230

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-11 23:04:41 -07:00
8f0623255d replace imports with absolute path instead of using symlink
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-03 14:30:50 -07:00
9634b25b63 remove hard-coded json content-type for streaming http output
There was a stale assumption that streaming output from a channel would
always be json.
This commit removes that code, allowing Content-Type to appropriately be
set like other, non-channel-streaming commands.

License: MIT
Signed-off-by: Cayman Nava <caymannava@gmail.com>
2015-09-24 19:13:29 -07:00
e5a2896c0e extract logging
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-14 17:35:50 -07:00
006cd5fe25 Merge pull request #1627 from ipfs/feat/symlinks
implement symlinks in unixfs, first draft
2015-09-02 22:36:50 +02:00
d85d61c968 recover and print panics that happen in API server
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-02 11:12:13 -07:00
4bcacc5936 address most of CR comments
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-02 10:12:04 -07:00
d993bc04d6 implement symlinks in unixfs, first draft
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-08-30 13:33:42 -07:00
rht
d32177cda0 Make sure ctx in commands are derived from req.Context
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-23 19:35:03 +07:00
978c9fa16f cmds/add: use dagutils.Editor, like patch
This changes the pin behavior. It uses the filenames given through
the api, and allows files to be streamed faltly (not a hierarchy),
which is easier for other things (like vinyl in node-ipfs-api land).
Files can also be entirely out of order, and the garbage intermediate
directories will not be pinned (gc-ed later).

The changes also mean the output of add has changed slightly-- it
no longer shows the local path added, but rather the dag path
relative to the added roots. This is a small difference, but changes
tests.

The dagutils.Editor creates a lot of chaff (intermediate objects)
along the way. Wonder how we might minimize the writes to the
datastore...

This commit also removes the "NilRepo()" part of the --only-hash
mode. We need to store at least in an in-mem repo/datastore because
otherwise the dagutils.Editor breaks.

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-08-12 08:24:06 +02:00
3ee83a7c5e fix cors: defaults should take the port of the listener
need to do it this way to avoid VERY confusing situations where
the user would change the API port (to another port, or maybe even
to :0). this way things dont break on the user, and by default,
users only need to change the API address and things should still
"just work"

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-08-02 08:16:51 +02:00
8a75c755d4 Merge pull request #1539 from ipfs/log-api-route
fix log tail command
2015-07-29 15:22:49 -07:00
082c147bbe should fix issue where 'read on closed body' error was leaking down
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-29 13:26:39 -07:00
b10e26a429 cancel contexts when client disconnects
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-29 11:02:10 -07:00
8f35c3bcd9 more serious CORS tests.
this commit introduces more serious CORS tests that check
status response codes, and run real HTTP requests.

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-28 23:08:11 -07:00
d5f94be474 fix API handler to respect referer + exit on CORS
this commit makes the API handler short circuit the request if the
CORS headers say its not allowed. (the CORS handler only sets the
headers, but does not short-circuit)

It also makes the handler respect the referer again. See security
discussion at https://github.com/ipfs/go-ipfs/issues/1532

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-28 23:08:11 -07:00
5d9ee59908 address CR comment re interface in cmds http handler
https://github.com/ipfs/go-ipfs/pull/1529#discussion_r35662230

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-28 23:08:10 -07:00
4a571b099b implement arbitrary HTTP header support
this commit adds the ability to specify arbitrary HTTP headers
for either the Gateway or the API. simply set the desired headers
on the config:

    ipfs config --json API.HTTPHeaders.X-MyHdr '["meow :)"]'
    ipfs config --json Gateway.HTTPHeaders.X-MyHdr '["meow :)"]'

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-28 23:08:10 -07:00
c633e2b575 cmds/http: remove referrer check
it used to be here for a CSRF check. but we now have CORS checks.

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-28 23:08:09 -07:00