Commit Graph

157 Commits

Author SHA1 Message Date
Juan Benet
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
Jakub Sztandera
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
Jeromy
9c641f9906 cleanup multipart
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
Jeromy
a9d6575b7c fix tests
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
Jeromy
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
Jeromy
6faa70ee59 implement ipfs files command
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-12 08:22:55 -08:00
Jeromy
8711c6635d make opt skip map a global
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-28 05:47:33 -08:00
Jeromy
cfb1a69184 cleanup http client code
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-28 04:18:56 -08:00
Jeromy
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
Jeromy
74b8a0ffaf fix tests
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-12-06 15:31:02 -08:00
Jeromy
bdc1b27c51 hard code things
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-30 14:43:37 -08:00
Jeromy
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
Jeromy
94bdce63a7 vendor logging lib update
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-05 15:57:21 -08:00
Jeromy
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
Jeromy
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
Jeromy
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
Juan Benet
27eece3e81 Merge pull request #1835 from miolini/master
fix races in http cors
2015-10-20 12:47:06 -07:00
Artem Andreenko
4555085844 fix races in http cors
License: MIT
Signed-off-by: Artem Andreenko <mio@volmy.com>
2015-10-13 01:09:55 +03:00
Jeromy
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
Jeromy
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
Cayman Nava
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
Jeromy
e5a2896c0e extract logging
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-14 17:35:50 -07:00
Juan Benet
006cd5fe25 Merge pull request #1627 from ipfs/feat/symlinks
implement symlinks in unixfs, first draft
2015-09-02 22:36:50 +02:00
Jeromy
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
Jeromy
4bcacc5936 address most of CR comments
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-02 10:12:04 -07:00
Jeromy
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
Juan Batiz-Benet
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
Juan Batiz-Benet
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
Juan Benet
8a75c755d4 Merge pull request #1539 from ipfs/log-api-route
fix log tail command
2015-07-29 15:22:49 -07:00
Jeromy
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
Jeromy
b10e26a429 cancel contexts when client disconnects
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-29 11:02:10 -07:00
Juan Batiz-Benet
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
Juan Batiz-Benet
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
Juan Batiz-Benet
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
Juan Batiz-Benet
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
Juan Batiz-Benet
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
Juan Batiz-Benet
7cf5e87cfe Added API + Gateway support for arbitrary HTTP headers
This commit fixes + improves CORS support

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-28 23:08:09 -07:00
Jeromy Johnson
98559d0e0b put comment back 2015-07-28 08:44:35 -07:00
Jeromy
2cad99d5ef only set stream header on streamed output
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-28 08:18:31 -07:00
Jeromy
8176766d5a naming and cleanup
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-27 17:25:38 -07:00
Jeromy
0c4b10afb2 comment need for custom client
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-27 15:19:43 -07:00
Jeromy
23d41e0823 address comments from CR and fix random failures
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-27 09:30:52 -07:00
Jeromy
1ce310be8b some commenting
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-26 11:28:53 -07:00
Jeromy
fd75b64630 refactor http client code
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-25 19:56:45 -07:00