Juan Benet
d6297c7498
Merge pull request #1823 from ForrestWeston/recurPin
...
Pin commands default to recursive
2015-10-16 08:43:25 -07:00
ForrestWeston
a8fc65fda0
Added tests from code-review
...
License: MIT
Signed-off-by: ForrestWeston <Forrest.Weston@gmail.com>
2015-10-13 17:11:05 -07:00
ForrestWeston
107409cee8
Added ability to specify true/false for bool opts
...
License: MIT
Signed-off-by: ForrestWeston <Forrest.Weston@gmail.com>
2015-10-13 17:11:05 -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
408bea3797
Merge pull request #1641 from rht/namedpipe
...
Serialfile: Explicit err on unrecognized file type
2015-09-05 03:19:54 +02:00
Jeromy
206739d10c
allow channel marshaler to return errors from cmds.Response
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-04 14:12:19 -07:00
rht
ccc9cd6a6c
Refactor serialfile
...
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-09-04 16:57:44 +07:00
rht
ddc8dff736
serialfile: Explicit err on unrecognized file type
...
So that ipfs add on daemon no longer blocks
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-09-04 16:57:44 +07:00
Juan Benet
018e20ae19
Merge pull request #1628 from rht/size-walk
...
Use filepath.Walk to compute serialfile total size
2015-09-03 16:32:02 +02:00
rht
00a56a14ec
serialfile: localize os.Open into NewSerialFile
...
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-09-03 20:30:41 +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
167532c2b6
fix direct symlink adding
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-02 10:51:03 -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
rht
b45e82418b
Use filepath.Walk to compute serialfile total size
...
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-31 10:57:54 +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
4a7c1cf802
add -w improvement: wrap multiple files in one dir
...
> ipfs add a b c
added Qmbvkmk9LFsGneteXk3G7YLqtLVME566ho6ibaQZZVHaC9 a
added QmR9pC5uCF3UExca8RSrCVL8eKv7nHMpATzbEQkAHpXmVM b
added QmetGxZTgo8tYAKQH1KLsY13MxqeVHbxYVmvzBzJAKU6Z7 c
added QmXg3WHLcjnz4ejeYF6FKVBkb4m1oKjQmF5fEWL9M1uQF3
> ipfs ls QmXg3WHLcjnz4ejeYF6FKVBkb4m1oKjQmF5fEWL9M1uQF3
Qmbvkmk9LFsGneteXk3G7YLqtLVME566ho6ibaQZZVHaC9 10 a
QmR9pC5uCF3UExca8RSrCVL8eKv7nHMpATzbEQkAHpXmVM 10 b
QmetGxZTgo8tYAKQH1KLsY13MxqeVHbxYVmvzBzJAKU6Z7 10 c
License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-29 03:07:39 -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
Juan Benet
681da0aa21
Merge pull request #1531 from ipfs/fix/stream-header
...
only set stream header on streamed output
2015-07-28 12:59:54 -07:00
Jeromy Johnson
98559d0e0b
put comment back
2015-07-28 08:44:35 -07:00
Shaun Bruce
c175700dea
Better error message on unrecognized command
...
Closes issue #1436
License: MIT
Signed-off-by: Shaun Bruce <shaun.m.bruce@gmail.com>
2015-07-28 09:20:53 -06: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
Jeromy
2b06ffaa7d
better refactor of http handler code
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-25 18:46:44 -07:00
Jeromy
a7e50f1fbc
implement http trailers for errors after headers are sent
...
refactor http handler and copyChunks to get this all to work correctly
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-25 11:07:31 -07:00
Juan Batiz-Benet
814f437fb4
cmds/http/handler: set stream error trailer
...
stream output might break. in these cases we need to notify the
client. this is after a 200 response has been sent. We do this
by setting a special trailer (header after the body):
X-Stream-Error: <error cause>
This is similar to what's done by systems like gRPC. This still
needs to be read + handled on the other side.
License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-24 14:49:34 -07:00
Juan Batiz-Benet
886d47561a
http/client: log errors when stream copy fails
...
License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-24 14:41:57 -07:00
Jeromy
8286abaf8c
attempt at properly closing http response bodies
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-22 13:31:33 -07:00
Jeromy
5873aa2aaa
if no context set in request, use context.TODO()
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-20 21:46:51 -07:00
Jeromy
bb3a75aa08
remove context from context
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-20 20:53:06 -07:00
Jeromy
f9f3c6a527
make offline commands respect timeout
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-20 14:34:16 -07:00
Jeromy
6083007987
add a global timeout flag for to be setting timeouts
...
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-20 12:53:37 -07:00
gatesvp
e55a130b49
Add hidden file support to add
...
License: MIT
Signed-off-by: Gaetan Voyer-Perrault <gatesvp@gmail.com>
2015-07-09 04:07:34 -07:00
W. Trevor King
663f37cb99
core/commands/unixfs/ls: Don't recurse into chunked files
...
Folks operating at the Unix-filesystem level shouldn't care about that
level of Merkle-DAG detail. Before this commit we had:
$ ipfs unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox
/ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox:
... several lines of empty-string names ...
And with this commit we have:
$ ipfs unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox
/ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox
I also reworked the argument-prefixing (object.Argument) in the output
marshaller to avoid redundancies like:
$ ipfs unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox
/ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox:
/ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox
As a side-effect of this rework, we no longer have the trailing blank
line that we used to have after the final directory listing.
The new ErrImplementation is like Python's NotImplementedError, and is
mostly a way to guard against external changes that would need
associated updates in this code. For example, once we see something
that's neither a file nor a directory, we'll have to update the switch
statement to handle those objects.
License: MIT
Signed-off-by: W. Trevor King <wking@tremily.us>
2015-06-13 13:06:34 -07:00
rht
3547f7ae33
Replace 'var * bytes.Buffer' with '\1 := new(bytes.Buffer)'
2015-05-26 23:18:04 +07:00
Christian Couder
23681727e0
parse: fix parsing optional arg with stdin
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-21 00:30:08 +02:00
Christian Couder
be3b7e13e3
parse_test: test command with optional arg
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-20 22:47:14 +02:00
Christian Couder
8d6bfec890
parse: improve stdin fix
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-20 21:28:41 +02:00
Lars Gierth
2eea1b05b7
parse: fix handling of unwanted stdin
...
There can be non-terminal (i.e. non-interactive) sessions
that are *not* a pipe, for example:
ssh user@host ipfs version
In this case, it looks like we should read from stdin.
Parsing stdin is accomplished by deliberately triggering
the parsing loop once.
We didn't previously check whether there is an ArgDef to support
that loop iteration.
2015-05-20 04:25:56 +02:00
Lars Gierth
4e0ca860e9
parse_test: test unwanted stdin
2015-05-20 04:23:43 +02:00
Juan Batiz-Benet
c561c0980b
Merge pull request #1239 from rht/master
...
Add gofmt check
2015-05-19 04:03:23 -04:00
rht
ac7edddb94
Run 'gofmt -s -w' on these files
2015-05-19 06:11:15 +07:00
Christian Couder
275ec7c2a0
parse_test: test stdin enabled and not variadic arg
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-18 00:24:13 +02:00
Christian Couder
53a80e255f
parse: fix arg number check
...
This should fix issue #1196 (Can't launch a command line
process from Qt).
The check was bad because it took stdin into account,
but it really shouldn't.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-18 00:03:02 +02:00
Christian Couder
c93d583f02
parse_test: add tests with 2 args and stdin
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 23:48:56 +02:00
Christian Couder
942e96400b
parse: fix parsing stdin args
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 23:43:24 +02:00
Christian Couder
5503c4cc89
parse_test: improve error messages
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 23:14:08 +02:00
Christian Couder
97ab64af30
parse: don't use stdin if there are arguments
...
This should fix issue #1141 (ipfs cat "multihash too short"
error when using stdin) and perhaps others.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 21:19:12 +02:00
Christian Couder
ff9cb9ecf4
parse_test: test multiline stdin
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-17 20:34:40 +02:00
David Braun
496e7a4b2c
Vendor CORS library.
2015-05-10 10:58:37 -07:00
David Braun
f6c6d5de13
Add CORS middleware handler to the API.
2015-05-08 18:41:00 -07:00
Henry
f640ba0089
core: add context.Context param to core.Resolve()
...
commands/object: remove objectData() and objectLinks() helpers
resolver: added context parameters
sharness: $HASH carried the \r from the http protocol with
sharness: write curl output to individual files
http gw: break PUT handler until PR#1191
2015-05-08 03:14:32 +02:00
Juan Batiz-Benet
9b12e02b69
Merge pull request #1193 from ipfs/improve_parse_test
...
Improve parse_test.go
2015-05-04 15:15:55 -07:00
Christian Couder
93f253e00b
parse_test: add testFail() to simplify tests
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-03 20:18:40 +02:00
Christian Couder
47a88f8429
parse_test: improve existing tests
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-03 20:10:28 +02:00
Christian Couder
c6dcfaaf5d
parse_test: use fileToSimulateStdin()
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-03 12:09:13 +02:00
Christian Couder
58126c1c6c
parse_test: improve tests with stdin enabled arg
...
Now also check that we get the right arguments from
the parsing.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-02 23:35:24 +02:00
Christian Couder
d0752a714d
parse_test: add tests for stdin enabled arg
...
Let's document how stdin enabled arguments currently
work by adding some tests.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-02 23:02:57 +02:00
Christian Couder
3e4a06945f
parse_test: fix and test sameWords()
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-02 23:02:57 +02:00
Christian Couder
2a5b2f2f4a
parse_test: move helper functions
...
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-05-02 23:02:57 +02:00
W. Trevor King
9f2f29a9a4
commands/command: Add a package comment
...
I'm not quite sure which file in this package is the most prominent,
but command.go seemed like a reasonable choice.
2015-04-30 21:25:55 -07:00
Tommi Virtanen
e78305546c
gofmt
2015-04-28 16:18:26 -07:00
Etienne Laurin
f168539030
Improve command line parsing
2015-04-27 17:19:38 +00:00
Tor Arne Vestbø
bfd12114e7
Remove daemon InitDone guard in interrupt handler
...
Instead of just terminating right there and then, we cancel the
context, and let the daemon exit cleanly. This make take a few
seconds, as the node builder and its child processes do not
care too much about the context state while building nodes,
but this can be improved by injecting checks for ctx.Done()
before time-consuming steps.
2015-04-20 16:35:35 +02:00
Tor Arne Vestbø
cc45e21e4c
Teach http client to abort channel streaming on context cancellation
...
When the response includes the X-Chunked-Output header, we treat that
as channel output, and fire up a goroutine to decode the chunks. This
routine need to look for context cancellation so that it can exit
cleanly.
2015-04-20 16:35:35 +02:00
Tor Arne Vestbø
661fb0a4b5
Teach http client to cancel request on context cancellation
...
The context may be cancelled while a request is in flight. We need to
handle this and cancel the request. The code is based on the ideas
from https://blog.golang.org/context
2015-04-20 16:35:35 +02:00
Ho-Sheng Hsiao
bf22aeec0a
Reorged imports from jbenet/go-ipfs to ipfs/go-ipfs
...
- Modified Godeps/Godeps.json by hand
- [TEST] Updated welcome docs hash to sharness
- [TEST] Updated contact doc
- [TEST] disabled breaking test (t0080-repo refs local)
2015-03-31 12:52:25 -07:00
Konstantin Koroviev
d23bed5baa
Rename ContextIsReadyToBeClosed to InitDone
2015-03-12 11:42:07 +02:00
Konstantin Koroviev
afd497e194
Dirty hack to fix race conditions in the daemon
2015-03-09 16:39:41 +02:00
Henry
86b34a2af6
NewRequest() - export OptMap type
2015-03-08 12:14:41 +01:00
Henry
92d08db7a5
rewrote import paths of go.net/context to use golang.org/x/context
...
- updated go-ctxgroup and goprocess
ctxgroup: AddChildGroup was changed to AddChild. Used in two files:
- p2p/net/mock/mock_net.go
- routing/dht/dht.go
- updated context from hg repo to git
prev. commit in hg was ad01a6fcc8a19d3a4478c836895ffe883bd2ceab. (context: make parentCancelCtx iterative)
represents commit 84f8955a887232b6308d79c68b8db44f64df455c in git repo
- updated context to master (b6fdb7d8a4ccefede406f8fe0f017fb58265054c)
Aaron Jacobs (2):
net/context: Don't accept a context in the DoSomethingSlow example.
context: Be clear that users must cancel the result of WithCancel.
Andrew Gerrand (1):
go.net: use golang.org/x/... import paths
Bryan C. Mills (1):
net/context: Don't leak goroutines in Done example.
Damien Neil (1):
context: fix removal of cancelled timer contexts from parent
David Symonds (2):
context: Fix WithValue example code.
net: add import comments.
Sameer Ajmani (1):
context: fix TestAllocs to account for ints in interfaces
2015-02-25 11:58:19 +01:00
Matt Bell
e8bbf1dcdf
commands/http: Made command HTTP API only accept requests from referers on the same server
2015-02-04 18:46:59 -08:00
Matt Bell
a7de81b818
commands: URL escape filenames in multipart files, resolves #654
2015-02-04 16:53:24 -08:00
Juan Batiz-Benet
58f39687cf
logs: removed all log.Errors unhelpful to users
...
Let's save log.Error for things the user can take action on.
Moved all our diagnostics to log.Debug. We can ideally reduce them
even further.
2015-02-03 01:06:07 -08:00
Juan Batiz-Benet
4334f6fda3
Merge pull request #613 from jbenet/progress-bars
...
Progress Bars
2015-01-23 22:20:34 -08:00
Matt Bell
5589021a1d
commands/http: Fixed panics when unmarshaling command output without a set Command.Type
2015-01-23 19:11:56 -08:00
Matt Bell
5706471897
commands: Made PostRun signature match Run
2015-01-23 18:29:31 -08:00
Matt Bell
3fc9bedb0b
commands: Made Std{in|out|err} accessible in Request/Response
2015-01-23 18:29:31 -08:00
Matt Bell
c73c4ae55d
commands/files: Added SizeFile interface
2015-01-23 18:29:30 -08:00
Matt Bell
4a6aec645e
commands: request: Added Values map
2015-01-23 18:29:30 -08:00
Matt Bell
8ca8d6ef71
commands/files: Added PeekFile and StatFile interfaces
...
squash! commands/files: Added PeekFile and StatFile interfaces
commands/http: Updated test
2015-01-23 18:29:30 -08:00
Matt Bell
6adebfad11
commands: Added Length field to Response
...
squash! commands: Added Length field to Response
commands/http: client: Fixed error on unset length
2015-01-23 18:29:29 -08:00
Matt Bell
7b4de230eb
commands: Refactored Command#Run function signature to (req Request, res Response)
2015-01-23 18:29:29 -08:00
Matt Bell
856d2896a7
commands: Added PreRun function to command
2015-01-23 18:19:40 -08:00
Matt Bell
1281b25105
commands: Added PostRun function, called on the client
2015-01-23 18:19:40 -08:00
Matt Bell
7294f6334a
commands: Removed old TODOs
2015-01-23 18:19:39 -08:00
Matt Bell
31ae178078
commands: Support outputting <-chan interface{}
2015-01-21 04:28:02 +00:00
Juan Batiz-Benet
920ddc7fc3
Merge pull request #553 from jbenet/serial-file
...
Serial File Opening
2015-01-13 23:30:08 -08:00
Matt Bell
78d36230d5
commands/cli: When parsing stdin as string argument, split lines into separate tokens
2015-01-13 22:51:10 -08:00
Matt Bell
dbb5118d76
commands/files: Fixed tests
2015-01-13 22:50:54 -08:00
Matt Bell
f8347f925c
commands/files: Made ReaderFile take ReadClosers instead of trying to cast reader to Closer
2015-01-13 22:50:54 -08:00
Matt Bell
a2b3402aa4
commands/http: Fixed package import in tests
2015-01-13 22:50:54 -08:00
Matt Bell
9ba728532f
commands/files: Created SerialFile, which opens directory contents serially
2015-01-13 22:50:53 -08:00
Matt Bell
7a579bbf79
commands: Moved files code into 'commands/files' subpackage
2015-01-13 22:50:53 -08:00
Brian Tiger Chow
5b3164de5c
refactor(repo/config) move config under repo
2015-01-13 03:09:30 -08:00
Juan Batiz-Benet
322d6d0b05
cmds: use flushCopy instrad of copychunks
...
@mappum would this work?
2015-01-11 20:52:33 -08:00
Juan Batiz-Benet
ddd7540186
cmds: flush output on standard readers
...
cc @mappum can we do this for the copyChunks case?
2015-01-11 20:52:33 -08:00
Juan Batiz-Benet
0e2a554c8d
cmds: fix error header output
...
using Header().Set after WriteHeader() has no effect.
cc @mappum
2015-01-11 20:52:33 -08:00
Matt Bell
2816ed038c
commands: Fixed panic when marshalers gave nil output
2015-01-06 15:55:18 -08:00
Matt Bell
97a3688429
commands; Fixed tests for Reader output
2015-01-06 15:55:17 -08:00
Matt Bell
0419ce1d20
commands: Removed unused cleanup function
2015-01-06 15:55:17 -08:00
Matt Bell
c2f46b618a
commands: Fixed panic on nil output value
2015-01-06 15:55:17 -08:00
Matt Bell
69999bd0a7
commands: Allow commands to output pointers to specified type
2015-01-06 15:53:49 -08:00
Matt Bell
77e5742ac7
commands/http: client: Decode values into a new instance of the output type
2015-01-06 15:53:49 -08:00
Matt Bell
ecc2248aa0
commands/http: client: Fixed decoding values in channel output
2015-01-06 15:53:49 -08:00
Matt Bell
981f793df9
commands: Use a flag to enable streaming channel output
2015-01-06 15:53:48 -08:00
Matt Bell
71838adf49
commands/http: handler: Fixed chunk copier to be able to write response before request is done
2015-01-06 15:53:48 -08:00
Matt Bell
5d3bc652cb
commands/http: client: Close output channel on decoder EOF
2015-01-06 15:53:48 -08:00
Matt Bell
0452a5f75e
commands: Made default JSON marshaler support channel output
2015-01-06 15:53:48 -08:00
Matt Bell
cf1e770e1e
commands/http: Client: decode chunked streaming output
2015-01-06 15:53:48 -08:00
Matt Bell
c3c0b248e8
commands/http: Made Handler stream channel output
2015-01-06 15:53:48 -08:00
Matt Bell
fd40702f73
commands: Changed Marshaler to return a io.Reader instead of a []byte
...
core/commands: Refactored command marshalers
2015-01-06 15:53:42 -08:00
Juan Batiz-Benet
0395a7af1e
ipfs add output not sorted, cmds files sorted
...
I made the commands lib dir listing sort the contents
so we get the same sequence of files from it repeatably.
2015-01-06 14:02:49 -08:00
Matt Bell
c80a7941d1
commands/cli: Fixed file path formatting on Windows
2014-12-05 20:56:27 -08:00
Matt Bell
5cb39235cc
commands/http: Fixed bug with client arg querystring
2014-12-05 20:56:27 -08:00
Matt Bell
4c7a694409
commands/http: Fixed client panic when sending a Request with nil 'Files'
2014-12-05 20:56:27 -08:00
Matt Bell
aaab7d0898
commands/http: Allow API requests from whitelisted origins
2014-11-25 06:12:35 -08:00
Peter Borzov
a76bac0dcc
Hotfix: return parsed options if argument parsing failed
2014-11-23 05:56:29 -05:00
Matt Bell
922f84878c
commands/cli: Added argument parse tests
2014-11-19 18:30:06 -08:00
Matt Bell
a69ddbb965
commands/cli: Fixed parse bug when optional argument is defined first
2014-11-19 18:29:56 -08:00
Matt Bell
4bd2fbc806
commands/cli: Ignore stdin on Windows
2014-11-19 04:30:29 -08:00
Matt Bell
69ce2940a8
commands/cli: Fixed helptext option type
2014-11-19 00:54:59 -08:00
Matt Bell
ae6f00d766
commands: Fixed tests
2014-11-19 00:36:42 -08:00
Matt Bell
761392d8de
commands/cli: Only allow recursive paths if -r option definition is OptionRecursivePath
2014-11-19 00:26:53 -08:00
Matt Bell
aa84f69231
commands: Added a 'Definition()' method to OptionValue to get a reference to the option definiton
2014-11-19 00:26:02 -08:00
Matt Bell
bbf3a1f4d4
commands: Changed Option to an interface
2014-11-19 00:24:55 -08:00
Matt Bell
277ba26120
commands: Gave global options exported names
2014-11-19 00:01:03 -08:00
Matt Bell
2855a6eed7
commands/cli: Allow option blobs before command path
2014-11-18 06:56:45 -08:00
Juan Batiz-Benet
f43954fcd1
ensure node constructed is online for daemon
2014-11-18 05:20:04 -08:00
Matt Bell
8968b98cf3
commands: Added tests for Request#SetOptions
2014-11-18 02:13:57 -08:00
Matt Bell
c19bdf18b2
commands: Added Request#SetOptions
2014-11-18 02:13:57 -08:00
Matt Bell
57c48adfcf
commands/http: Made MultiFileReader thread safe
2014-11-18 02:13:57 -08:00
Matt Bell
6681c50371
commands/cli: Decomposed 'parseArgs'
2014-11-18 02:13:57 -08:00
Matt Bell
c14bd98f7a
commands/http: Added MultiFileReader test
2014-11-18 02:13:57 -08:00
Matt Bell
c904e6c46d
commands: Added File tests
2014-11-18 02:13:57 -08:00
Matt Bell
8900229579
commands/http: Made MultiFileReader#Read more readable
2014-11-18 02:13:56 -08:00
Matt Bell
c9abc6b546
commands/http: Documented MultiFileReader
2014-11-18 02:13:56 -08:00
Matt Bell
c598673b4c
commands/http: Documented MultiFileReader
2014-11-18 02:13:56 -08:00
Matt Bell
5614234d1d
commands/http: MultiFileReader: Removed extraneous condition when checking next file
2014-11-18 02:13:56 -08:00
Matt Bell
a9d784cb21
commands: Documented File and implementations
2014-11-18 02:13:56 -08:00
Matt Bell
380337b76b
commands/cli: Use filepath.Join for file path building
2014-11-18 02:13:56 -08:00
Matt Bell
015bd06cff
commands/cli: Fixed stdin arg handling
2014-11-18 02:13:56 -08:00
Matt Bell
0b509098aa
commands: Fixed tests
2014-11-18 02:13:55 -08:00
Matt Bell
d4ac442838
commands/cli: Fixed Parse required argument check
2014-11-18 02:13:55 -08:00
Matt Bell
ce49541f13
commands/http: Ignore mediatype validation (only required for file args)
2014-11-18 02:13:55 -08:00
Matt Bell
9333c504c1
commands/cli,http: Make sure required file arguments are provided
2014-11-18 02:13:55 -08:00
Matt Bell
bc8a97c119
commands: Cleanup up argument validation
2014-11-18 02:13:55 -08:00
Matt Bell
f8be26810a
commands: Changed Request#Arguments to a []string
2014-11-18 02:13:55 -08:00
Matt Bell
9dcf21673d
commands: Fail earlier for arg count checking (by doing it in CLI req parser)
2014-11-18 02:13:55 -08:00
Matt Bell
51bfe06f1a
commands/http: Support recursive multipart in MultiFileReader
2014-11-18 02:13:54 -08:00
Matt Bell
9d2ee4f1d4
commands/cli: Support directory argfile arguments in Parse
2014-11-18 02:13:54 -08:00
Matt Bell
ae33905ccd
commands: Added global -r/--recursive flag
2014-11-18 02:13:54 -08:00
Matt Bell
f22ac196bb
commands: Added Recursive modifier to Argument
2014-11-18 02:13:54 -08:00
Matt Bell
bfc83bd16a
commands: Added SetArguments/SetFiles to Request
2014-11-18 02:13:54 -08:00
Matt Bell
4ba7408363
commands: Don't error on file arg checking (for now)
2014-11-18 02:13:54 -08:00
Matt Bell
3a9a62eb0e
commands/cli: Open file paths when parsing and use in request.Files()
2014-11-18 02:13:53 -08:00
Matt Bell
132e740257
commands/http: Send req.Files() as multipart
2014-11-18 02:13:53 -08:00
Matt Bell
53735263c2
commands/http: Parse multipart files into req.Files()
2014-11-18 02:13:53 -08:00
Matt Bell
4b9fa9c97c
commands/http: Use constants for header names
2014-11-18 02:13:53 -08:00
Matt Bell
1c8d73f9ea
commands: Added Request#Files()
2014-11-18 02:13:53 -08:00
Matt Bell
fdb71eb5dc
commands: Added MultiFileReader (read a File as multipart data)
2014-11-18 02:13:53 -08:00
Matt Bell
02c7c329aa
commands: Added File interface and implementations
2014-11-18 02:13:53 -08:00
Juan Batiz-Benet
45cc33b1ff
Merge pull request #354 from chriscool/improve_help_messages
...
Improve help messages
2014-11-17 14:25:39 -08:00
Christian Couder
288ee753c0
Remove 'SYNOPSIS' from short help text
...
It takes some space and it looks like it
applies to the description too.
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2014-11-17 21:08:56 +01:00
Matt Bell
abb8374d43
commands: NewRequest: Documented error case
2014-11-17 00:00:16 -08:00
Matt Bell
3c5bfcec31
commands: Fixed tests
2014-11-16 18:07:56 -08:00
Matt Bell
5e16dfb111
commands: Improved option conversin error message
2014-11-16 18:05:13 -08:00
Matt Bell
d1c50972f5
commands: Check for option errors when constructing Requests
2014-11-16 18:01:06 -08:00
Juan Batiz-Benet
589851fb4e
cmds: root: fix '--help' notice for subcmds
2014-11-15 09:04:49 -08:00
Matt Bell
2b6b6fac00
commands: Added a flag to enable stdin arguments
2014-11-14 03:20:11 -08:00
Matt Bell
9370740db0
commands/cli: Fixed bug when parsing args for a command that doesn't have any argument definitions
2014-11-14 03:20:11 -08:00
Matt Bell
00b19f8876
commands/cli: Take an optional Stdin value in Parse (read as a reader argument or string argument)
2014-11-14 03:20:11 -08:00
Matt Bell
231960e726
commands/http: Fixed client erroring on nil command output
2014-11-14 03:20:11 -08:00
Brian Tiger Chow
ef0826acd6
fix(commands/err)
...
I didn't know there were dragons here.
When casting errors we've gotta be careful. Apparently both values and
pointers satisfy the error interface. Type checking for one doesn't
catch the other.
cc @whyrusleeping @mappum @jbenet
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Brian Tiger Chow
ca2828f33c
feat(commands) add ClientError(msg) helper and use it to return a fancy error to the client in the tour
...
@jbenet this exists now
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Matt Bell
db361d9403
commands/cli: Made Parse return an error if request has unrecognized options
2014-11-14 03:20:06 -08:00
Juan Batiz-Benet
047d2e2d62
cmd2: Marshaller -> Marshaler (see golang/encoding)
...
Also:
- map[cmds.EncodingType]cmds.Marshaller -> MarshalMap
cc @mappum @maybebtc
2014-11-14 03:20:05 -08:00
Matt Bell
3b407c705d
commands: Ensure command output is correct type (if cmd.Type is set), resolves #321
2014-11-14 03:20:05 -08:00
Juan Batiz-Benet
81b3680908
cmds2: aligned subcmd text
2014-11-14 03:20:05 -08:00
Matt Bell
646920b0dd
commands: Got rid of old helptext fields, use HelpText struct fields in helptext generator
2014-11-14 03:20:05 -08:00
Brian Tiger Chow
e6c5fc250c
docs(commands) todo
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
Brian Tiger Chow
562500491f
test(commands/parse) take args instead of cmd for easier testing
...
@mappum
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
Matt Bell
28306a49c4
commands/cli,http: Properly preserve argument value count when checking argument validity
2014-11-14 03:20:04 -08:00
Brian Tiger Chow
27b9aec370
style(commands/cli/helptext) use helper function to cut down on
...
boilerplate
I know you'll love this one @mappum
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
Brian Tiger Chow
5a9de188d7
fix(commands/request) return err when unable to load config/node due to
...
nil function
cc @jbenet @mappum
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:04 -08:00
Matt Bell
9afb85714a
commands/cli: Don't return root in Parse
2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
7daf888902
cmds2: handle error return codes
2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
d18902df27
cmds2: changed how the ctx.Node works
2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
3352aeee15
cmds2: fixed show help on root + noncallable
2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
f738e899c2
cmd2: simplified main
...
Attention @maybebtc @mappum
I cleaned up + simplified the main flow. Now, all printing
is contained inside main itself! (:cheer:). I do this with
the help of a cmdInvocation struct that has both
a Parse and Run. The only major clunkiness left is that the
"CallCommand" is still its own function. But *shrug*.
Please test it works as we would expect. i changed much of
the flow, so likely that i missed a complicated edge case.
main roadmap:
- parse the commandline to get a cmdInvocation
- if user requests, help, print it and exit.
- run the command invocation
- output the response
- if anything fails, print error, maybe with help
2014-11-14 03:20:02 -08:00
Matt Bell
3e7592f2cc
commands/cli: Sort options by length when generating options helptext
2014-11-14 03:20:02 -08:00
Matt Bell
e41f861f8a
commands/cli: Added some TODOs to Parse
2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
b836e72aea
cmd2 align arguments properly
2014-11-14 03:20:00 -08:00
Juan Batiz-Benet
c0b3b43773
cmds2/helptext moved indent + tagline in subcmd
2014-11-14 03:20:00 -08:00
Matt Bell
80d743541e
commands/cli: Fixed spacing error
2014-11-14 03:20:00 -08:00
Juan Batiz-Benet
ef4480fe6d
cmds/config: better help text
2014-11-14 03:20:00 -08:00
Juan Batiz-Benet
fc7c199d6a
cmds/helptext: indent + newlines + synopsis
2014-11-14 03:20:00 -08:00
Matt Bell
8aa532fbc9
commands/cli: Less line breaks in autogenerated formatting
2014-11-14 03:20:00 -08:00
Juan Batiz-Benet
c25bf522d6
newline in short helptext
2014-11-14 03:19:59 -08:00
Matt Bell
47987f5df5
commands/cli: Transitionary commit - Generate helptext from HelpText fields if they aren't empty
2014-11-14 03:19:59 -08:00
Matt Bell
475f3f485b
commands: Added HelpText struct to organize different help text fields in Commands
2014-11-14 03:19:59 -08:00
Brian Tiger Chow
7116591351
docs(commands/request)
2014-11-14 03:19:59 -08:00
Brian Tiger Chow
192377a852
fix(commands/optionvalue) use the util.ErrCast()
2014-11-14 03:19:59 -08:00
Brian Tiger Chow
c46102cec5
fix(commands/http/handler) check if found
...
@mappum, could you CR this and let me know if I've interpreted the
desired behavior correctly?
2014-11-14 03:19:57 -08:00
Brian Tiger Chow
bff646fb26
fix(commands/optionvalue) don't shadow the return variable
...
NB: return variables are provided for clarity. Otherwise, it's not
entirely clear that the bool is for _found_.
2014-11-14 03:19:57 -08:00
Brian Tiger Chow
3c4f628493
tests(commands/option) test the OptionValue methods
...
TODO add tests for remaning, untested methods.
2014-11-14 03:19:57 -08:00
Brian Tiger Chow
69374b30be
refactor(commands/optionvalue) use
...
@mappum this optionvalue is a really great abstraction. It makes
maintenance super simple!
@jbenet @whyrusleeping
2014-11-14 03:19:57 -08:00
Brian Tiger Chow
71e92dace2
explain(commands/http)
...
we've gotta allow the code to speak for itself. I wouldn't have been
able to safely modify this code without having my hand held. I am but a
lowly programmer with a simple mind.
cc @jbenet @whyrusleeping @mappum
2014-11-14 03:19:57 -08:00
Brian Tiger Chow
9f801561fd
feat(commands) add cast error
2014-11-14 03:19:57 -08:00
Matt Bell
a4e68c241b
commands/http: Get string representations of option values when creating querystring
2014-11-14 03:19:57 -08:00
Juan Batiz-Benet
49792b2362
refactored cast errors to use a util
2014-11-14 03:19:56 -08:00
Matt Bell
81dbb23602
commands: Cleanup Requests after command execution returns
2014-11-14 03:17:43 -08:00
Matt Bell
8c9ee52a93
commands: Fixed value mutation bug in Request#SetOption
2014-11-14 03:17:42 -08:00
Brian Tiger Chow
94e8218be8
add todo
2014-11-14 03:17:42 -08:00
Matt Bell
93c69a83e8
commands/cli: Added short help text function
2014-11-14 03:17:41 -08:00
Matt Bell
4970d8b5a3
commands/cli: Use template for helptext generation
2014-11-14 03:17:41 -08:00
Brian Tiger Chow
ea15bd6ffe
docs(commands) amend
2014-11-14 03:17:41 -08:00
Brian Tiger Chow
e6f2de40dc
docs(commands) Type
2014-11-14 03:17:41 -08:00
Brian Tiger Chow
f5973b5565
add urgent todo. fix before merge
2014-11-14 03:17:41 -08:00
Matt Bell
7666f8880c
commands: Allow overriding helptext sections with hand-written strings
2014-11-14 03:17:41 -08:00
Matt Bell
f93b806d21
commands/http: s/lenRequired/numRequired/
2014-11-14 03:17:40 -08:00
Matt Bell
50751617b6
commands: s/j/valueIndex/
2014-11-14 03:17:40 -08:00
Matt Bell
eedc2e9cc7
commands: s/lenRequired/numRequired/
2014-11-14 03:17:40 -08:00
Matt Bell
e14471f5e8
commands/cli: Use better variable name for parseArgs value index
2014-11-14 03:17:40 -08:00
Matt Bell
5481230679
commands/cli: Use better temp variable names in Parse
2014-11-14 03:17:40 -08:00
Matt Bell
f48ce10efb
commands/cli: Added comment to explain multiple root support in Parse
2014-11-14 03:17:40 -08:00
Matt Bell
40e96a1fa6
commands: Added Argument helper constructors
2014-11-14 03:17:39 -08:00
Matt Bell
f1fc26e70b
commands: Removed a fmt.Println
2014-11-14 03:17:38 -08:00
Matt Bell
a9bd172414
commands: Fixed handling of int/uint option values
2014-11-14 03:17:38 -08:00
Matt Bell
3e507f7c9f
commands: Changed option accessor API (Request#Option now returns an OptionValue)
2014-11-14 03:17:38 -08:00
Matt Bell
20591c7e64
commands: Made SetOption override existing values (even if they used a different alias)
2014-11-14 03:17:37 -08:00
Matt Bell
e34a0fd658
commands: Updated tests
2014-11-14 03:17:37 -08:00
Matt Bell
eebb43753b
commands: Added list of option definitions to Request, so Option can lookup values by all aliases
2014-11-14 03:17:37 -08:00
Matt Bell
ce28fa363b
commands: Fixed tests
2014-11-14 03:17:37 -08:00
Matt Bell
38b31c65f8
commands: Added Option helper constructors
2014-11-14 03:17:37 -08:00
Matt Bell
2029168e98
commands: Made Command run functions return (interface{}, error) instead of setting the values in the response
2014-11-14 03:17:37 -08:00
Matt Bell
f1c788d710
commands/http: Don't set Content-Type for stream outputs so browsers can MIME-sniff the actual content type
2014-11-14 03:17:35 -08:00
Matt Bell
5a18554f6e
commands: Fixed tests
2014-11-14 03:17:35 -08:00
Matt Bell
20285ead82
commands: Indent JSON-marshalled Response output
2014-11-14 03:17:34 -08:00
Matt Bell
cdf221078d
commands: Fixed tests
2014-11-14 03:17:34 -08:00
Matt Bell
3255bb02d1
commands/cli: Output command path in Parse
2014-11-14 03:17:34 -08:00
Matt Bell
c827573e32
commands/cli: Helptext spacing fix for root command output
2014-11-14 03:17:33 -08:00
Matt Bell
c169fca5a2
commands/cli: Added a helptext generator
2014-11-14 03:17:33 -08:00
Matt Bell
351ed9589a
commands: Added 'Description' fields to Command, Argument, Option
2014-11-14 03:17:33 -08:00
Matt Bell
3df5202f8a
commands/http: Log incoming requests (with DEBUG log level)
2014-11-14 03:17:30 -08:00
Matt Bell
cb72868ab4
commands: Fixed parser argument bug (TODO: better test coverage for command parsers)
2014-11-14 03:17:28 -08:00
Matt Bell
83cda2e699
commands/http: Fixed arg parse bug
2014-11-14 03:17:27 -08:00
Matt Bell
fecb434ab4
commands: Fixed arg validation bug
2014-11-14 03:17:27 -08:00
Matt Bell
1ee6c7e5f2
commands/cli: Fixed arg parse bug
2014-11-14 03:17:27 -08:00
Matt Bell
48c108d523
commands/cli: Made Parse return the resolved subcommand, even on error
2014-11-14 03:17:27 -08:00
Matt Bell
37f05a8bf6
commands: Ensure argument parsing maintains total argument count, so that argument validation will fail if there are too many
2014-11-14 03:17:27 -08:00
Matt Bell
116041c5ec
commands: Fixed argument value/definition mapping
2014-11-14 03:17:26 -08:00
Brian Tiger Chow
de170927ad
fix(commands/request) cast safely
...
should be able to look at a function in isolation and prove it won't
panic. if that's not possible, should cast safely.
2014-11-05 10:15:17 -08:00
Brian Tiger Chow
d3f9aadd3e
fix(commands/http/client) cast safely
2014-11-05 10:15:17 -08:00
Matt Bell
1b9b60331f
commands/http: Cleaned up argument handling in Parse
2014-11-04 02:04:51 -08:00
Matt Bell
db9c7f7c29
commands: Fixed panic when trying to marshal without a command set in request
2014-11-04 02:04:51 -08:00
Matt Bell
df6c700426
commands/http: Renamed variable for clarity
2014-11-04 02:04:51 -08:00
Matt Bell
c8ae4b6f42
commands/http: Decomposed Client#Send function
2014-11-04 02:04:51 -08:00
Matt Bell
e57cd9b857
commands/http: Use net/url querystring encoder
2014-11-04 02:04:51 -08:00
Matt Bell
33b0990a3a
commands/http: Cleaner URL formation in client
2014-11-04 02:04:51 -08:00
Matt Bell
5e5d534eb3
commands/http: Refactored API to a Client object that takes a string address
2014-11-04 02:04:50 -08:00
Matt Bell
2a1116cec8
commands: Allow overriding marshaller for any encoding type
2014-11-04 02:04:50 -08:00
Matt Bell
33ad56e6d0
commands: Safer type coercion when choosing marshaller
2014-11-04 02:04:50 -08:00
Matt Bell
0149f65c6c
commands: Replaced 'Formatter' with 'Marshaller'
2014-11-04 02:04:50 -08:00
Matt Bell
068e10cc5d
commands/cli: Better comment for parsePath
2014-11-04 02:04:50 -08:00
Matt Bell
958e524c1e
commands: Nicer syntax for Argument definition
2014-11-04 02:04:50 -08:00
Matt Bell
f76048f74b
commands/http: Unexported Handler fields and created constructor
2014-11-04 02:04:50 -08:00
Matt Bell
4552fce517
commands/http: Respond with error if encoding option isn't a string
2014-11-04 02:04:50 -08:00
Matt Bell
446acdcdb5
commands/http: Ensure request URLs start with expected prefix
2014-11-04 02:04:50 -08:00
Matt Bell
bc6938dc08
commands: Cleaned up argument validation
2014-11-04 02:04:49 -08:00
Matt Bell
f6c38882f0
commands: Return a reader in a Response#Reader method, instead of making Response implementing io.Reader
2014-11-04 02:04:49 -08:00
Matt Bell
69a56de040
commands: Renamed Response#Value to Response#Output
2014-11-04 02:04:49 -08:00
Matt Bell
75649f3d49
commands: Moved argument checking into a Command method, fail early when parsing commands
2014-11-04 02:04:49 -08:00
Matt Bell
dbeffb6a0b
commands: CLI Parse: Don't parse args until after creating request
2014-11-04 02:04:49 -08:00
Matt Bell
586a019fbf
commands: Fixed Request#CheckArguments not erroring when required arguments were missing
2014-11-04 02:04:49 -08:00
Matt Bell
405cfd9762
commands/http: Made parser/client handle variadic arguments
2014-11-04 02:04:49 -08:00
Matt Bell
2c8fc8564c
commands/cli: Made parser handle variadic arguments
2014-11-04 02:04:49 -08:00
Matt Bell
e8d0cbff1d
commands: Check argument validity when running commands
2014-11-04 02:04:49 -08:00
Matt Bell
ee2c76992a
commands/cli: Open argument files when creating Requests (Moved out of HTTP client)
2014-11-04 02:04:48 -08:00
Matt Bell
f7aa2b9f10
commands: Renamed ArgPath to ArgFile
2014-11-04 02:04:48 -08:00
Matt Bell
40858b43ed
commands/http: Added stream argument handling to client and request parser
2014-11-04 02:04:48 -08:00