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
Matt Bell
39c78fbe06
commands: Fixed tests
2014-11-04 02:04:48 -08:00
Matt Bell
3a8d60cc61
commands: Removed inpout stream from Request
2014-11-04 02:04:48 -08:00
Matt Bell
827f1dd0b0
commands: Changed Request arguments to a []interface{}
2014-11-04 02:04:48 -08:00
Matt Bell
30e968754e
commands/cli: Error if no subcommand matched
2014-11-04 02:04:48 -08:00
Matt Bell
83b2ba00e9
commands: Removed Command#Private field
2014-11-04 02:04:48 -08:00
Matt Bell
c0d3edd4f9
commands/cli: Made Parse handle multiple root commands
2014-11-04 02:04:47 -08:00
Matt Bell
cfa56dde82
commands/http: Error if trying to run private command
2014-11-04 02:04:47 -08:00
Matt Bell
abcebb0bc2
commands/http: Improved client error handling
2014-11-04 02:04:47 -08:00
Matt Bell
ea09268044
commands/http: 404 when trying to call root command
2014-11-04 02:04:47 -08:00
Matt Bell
1e0cabd4db
commands/http: Pass root command in as field instead of statically depending on core/commands
2014-11-04 02:04:47 -08:00
Matt Bell
460387fc3b
commands: Added 'Private' field to Command
2014-11-04 02:04:47 -08:00
Matt Bell
b61cfd9224
commands: Don't error when marshalling empty Responses
2014-11-04 02:04:47 -08:00
Brian Tiger Chow
4911dc069a
refactor(commands) swap argument order to match Http(w, r) idiom
2014-11-04 02:04:47 -08:00
Brian Tiger Chow
b1bf60b877
fix(cmd/ipfs2, commands) imports
2014-11-04 02:04:46 -08:00
Matt Bell
c0a9871d48
commands/http: Made HTTP client unmarshal response values based on the Command#Type
2014-11-04 02:04:46 -08:00
Matt Bell
ef290faa88
commands: Added a Type field for defining output struct formats
2014-11-04 02:04:46 -08:00
Matt Bell
6302356e15
commands: Fixed tests
2014-11-04 02:04:46 -08:00
Matt Bell
32a2959348
commands/http: Don't try to parse HTTP response into a Response, just read the output
2014-11-04 02:04:46 -08:00
Matt Bell
714e13b63a
commands/http: Explicitly define the MIME types for each encoding
2014-11-04 02:04:46 -08:00
Matt Bell
b54801cc10
commands: Added plaintext marshalling to Response#Marshal()
2014-11-04 02:04:46 -08:00
Matt Bell
38f8f1c279
commands: Added a Format function to Command, for creating human-readable output based on a Response
2014-11-04 02:04:46 -08:00
Matt Bell
81f29257a1
commands: Gave Requests a reference to the command they are being called on
2014-11-04 02:04:46 -08:00
Matt Bell
507192ef6e
commands/http: Use request body as command input stream
2014-11-04 02:04:45 -08:00
Matt Bell
42633e5d40
commands/http: Send request arguments in client requests
2014-11-04 02:04:45 -08:00
Matt Bell
753162529a
commands/http: Parse command args
2014-11-04 02:04:45 -08:00
Matt Bell
52bc8bd422
commands/http: Moved http request parsing into a Parse function
2014-11-04 02:04:45 -08:00
Matt Bell
29b96b64a5
commands/http: Made Handler set request contexts
2014-11-04 02:04:45 -08:00
Matt Bell
289bce6bdb
commands: Added Request#SetContext()
2014-11-04 02:04:45 -08:00
Matt Bell
48bd73c530
commands/http: Made client load RPC host from config
2014-11-04 02:04:45 -08:00
Matt Bell
20f86c01ce
commands: Added Context() to Request
2014-11-04 02:04:45 -08:00
Matt Bell
b033e33293
commands: Fixed test
2014-11-04 02:04:44 -08:00
Matt Bell
53e1359871
commands: Silently skip unrecognized options, it should be up to the transport to decide if they cause an error
2014-11-04 02:04:44 -08:00
Matt Bell
43c61a4e4b
commands/http: Moved HTTP RPC handler into commands/http
2014-11-04 02:04:44 -08:00
Matt Bell
8b61daa1db
commands/http: Moved HTTP RPC into commands/http package
2014-11-04 02:04:44 -08:00
Matt Bell
a65c99e71e
commands: Added Request#Options so consumers can iterate through provided options
2014-11-04 02:04:44 -08:00
Matt Bell
e8b37acda3
commands: Simplified Error string output
2014-11-04 02:04:44 -08:00
Matt Bell
3cebd2176e
commands: Made Response implement io.Reader
2014-11-04 02:04:44 -08:00
Matt Bell
94683bb6b2
commands: Removed unused output stream field from Response
2014-11-04 02:04:43 -08:00
Matt Bell
19e5fbae70
commands: Made Response#Error return an *Error instead of an error
2014-11-04 02:04:43 -08:00
Juan Batiz-Benet
184c25430b
go-vet friendly codebase
...
- distinguish log.Error and log.Errorf functions
- Initialize structs with field names
- A bit of unreachable code (defers)
2014-10-25 03:46:39 -07:00
Matt Bell
4303dccee9
commands: Added Request#SetStream
2014-10-21 18:27:39 -07:00
Matt Bell
12a6a87b2c
commands/cli: Made Parse return a Request (again)
2014-10-21 18:27:05 -07:00
Juan Batiz-Benet
d464e3d143
commands: go fmt
2014-10-21 18:16:04 -07:00
Matt Bell
dd81bf630f
commands: Fixed tests
2014-10-21 18:07:49 -07:00
Matt Bell
ca44d0da2c
commands: Removed Command#Register and exported Subcommands so subcommands can be defined statically
2014-10-21 18:05:54 -07:00
Matt Bell
6ff98df9c1
commands: Do command collision check in GetOptions
2014-10-21 18:00:26 -07:00
Matt Bell
4f10f03660
commands: Fixed tests
2014-10-21 16:15:22 -07:00
Matt Bell
dd84a3eb44
commands: Got rid of Response#Stream() in favor of setting value to a io.Reader
2014-10-21 16:15:06 -07:00
Matt Bell
b65a5bacbe
commands: Made Error implement error interface
2014-10-21 15:25:47 -07:00
Matt Bell
8786878fdb
commands: Fixed tests
2014-10-21 15:25:01 -07:00
Matt Bell
4896123c14
commands: Export command Run function
2014-10-21 15:24:39 -07:00
Matt Bell
71ff571ecf
commands/cli: Made Parse return component fields instead of a Request
2014-10-20 17:02:25 -07:00
Matt Bell
b022ba4a3a
commands: Fixed tests
2014-10-20 14:39:23 -07:00
Matt Bell
7bd7ed6d52
commands: Added output stream field to Response
2014-10-20 14:38:36 -07:00
Matt Bell
c0b28dc19d
commands: Added input stream field to Request
2014-10-20 14:38:09 -07:00
Juan Batiz-Benet
b10fc2cc50
turned req + res into interfaces
2014-10-20 11:49:07 -07:00
Juan Batiz-Benet
bbef82f4fa
"enc" -> EncShort
2014-10-20 08:00:28 -07:00
Juan Batiz-Benet
4986600e54
parsePath no err
2014-10-20 08:00:28 -07:00
Juan Batiz-Benet
92528ba764
Sub -> Subcommand
2014-10-20 07:55:23 -07:00
Juan Batiz-Benet
84fa7bc46d
AddOptionNames func
2014-10-20 07:53:55 -07:00
Juan Batiz-Benet
09d2277f0a
f -> run, Function type.
2014-10-20 07:53:54 -07:00
Juan Batiz-Benet
7673ce6f65
fmt, lint, + vet commands/
2014-10-20 07:53:14 -07:00
Matt Bell
a9fa767b09
commands/cli: Added test for detecting duplicate options
2014-10-20 07:04:55 -07:00
Matt Bell
117af86ca7
commands/cli: Error if there are duplicate values for an option
2014-10-20 07:04:55 -07:00
Matt Bell
b48b12e425
commands/cli: Fixed test for new parsing
2014-10-20 07:04:55 -07:00
Matt Bell
f87c418eee
commands/cli: Refactored CLI parsing to match go tooling conventions
2014-10-20 07:04:54 -07:00
Matt Bell
e5e121a6b1
commands: Made Request#Option also return an existence bool
2014-10-20 07:04:54 -07:00
Matt Bell
4f06c6fdba
commands: Formatted code
2014-10-20 07:04:54 -07:00
Matt Bell
d2176c05eb
commands: Added Command#Get
2014-10-20 07:04:54 -07:00
Matt Bell
c054fb3655
commands: Added simple Command#Resolve test
2014-10-20 07:04:54 -07:00
Matt Bell
4af61ad994
commands: Added Command#Resolve
2014-10-20 07:04:54 -07:00
Matt Bell
4b0f44e441
commands: Fixed tests
2014-10-20 07:04:54 -07:00
Matt Bell
09311d4bab
commands: Added 'NewEmptyRequest'
2014-10-20 07:04:54 -07:00
Matt Bell
968ec344e5
commands/cli: Made Parse return a Request object instead of separate values
2014-10-20 07:04:53 -07:00
Matt Bell
7a36278dbc
commands: Allow setting Request fields in NewRequest
2014-10-20 07:04:53 -07:00
Matt Bell
47eea7fd93
commands: Added a option validation test for convertible string values
2014-10-20 07:04:53 -07:00
Matt Bell
1e8719e7f4
commands: Fixed tests
2014-10-20 07:04:53 -07:00
Matt Bell
c575b5087a
commands: Added option value conversion, and moved option validation logic into Request#convertOptions
2014-10-20 07:04:53 -07:00
Matt Bell
e1a4b8d668
commands: Added Request#SetPath method
2014-10-20 07:04:53 -07:00
Matt Bell
793a8de9c2
commands: Refactored to make Request contain command path
2014-10-20 07:04:53 -07:00
Matt Bell
86bc450b20
commands/cli: Pass option definitions as an argument to parseOptions
2014-10-20 07:04:53 -07:00
Matt Bell
97b8719075
commands/cli: Removed parser string handling since the go runtime handles it for us automatically
2014-10-20 07:04:53 -07:00
Matt Bell
5d9fa93c85
commands/cli: Added test for single-dash option value
2014-10-20 07:04:53 -07:00
Matt Bell
66e6da3ddd
commands/cli: Added value parsing for single-dash options
2014-10-20 07:04:52 -07:00
Matt Bell
08885c0ced
commands/cli: Fixed tests for refactor
2014-10-20 07:04:52 -07:00
Matt Bell
bb32633136
commands/cli: Refactored parsing to always get the command path at the beginning of the CLI input
2014-10-20 07:04:52 -07:00
Matt Bell
66b0727de6
commands/cli: Renamed parse functions to parse*
2014-10-20 07:04:52 -07:00
Matt Bell
1b35615824
commands: Made Command#GetOption method, for getting all options for a given command path
2014-10-20 07:04:52 -07:00
Matt Bell
f437230d88
commands/cli: Added path/args test
2014-10-20 07:04:52 -07:00
Matt Bell
4bd3a77778
commands/cli: Added path/args parsing
2014-10-20 07:04:52 -07:00
Matt Bell
b3eecf4f64
commands/cli: Added simple option parser test
2014-10-20 07:04:52 -07:00
Matt Bell
bf328181cd
commands/cli: Added CLI option parsing
2014-10-20 07:04:52 -07:00
Matt Bell
43670971d8
commands: Formatted code
2014-10-20 07:04:52 -07:00
Matt Bell
94ca2642a1
commands: Added test for Response error marshalling
2014-10-20 07:04:51 -07:00
Matt Bell
aa592cec80
commands: Added error marshalling to Response
2014-10-20 07:04:51 -07:00
Matt Bell
01938ac574
commands: Updated Response test to use safer option setting
2014-10-20 07:04:51 -07:00
Matt Bell
308ee5c949
commands: Added Request#SetOption so we can set options with multiple names
2014-10-20 07:04:51 -07:00
Matt Bell
808d9c1912
commands: Wrote tests for Response marshalling
2014-10-20 07:04:51 -07:00
Matt Bell
a3a843759b
commands: Added marshalling to Response
2014-10-20 07:04:51 -07:00
Matt Bell
95b0dd29f8
commands: Added an Error struct for creating marshallable errors
2014-10-20 07:04:51 -07:00