restup 1.0.1 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/README.md +12 -14
- data/bin/restup +4 -4
- data/lib/constants.rb +3 -1
- data/lib/output_builder.rb +16 -19
- metadata +9 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7aaee4cc3597cafbc7d621aa6e03fcbf88e2d3b5
|
4
|
+
data.tar.gz: 0a47d288b19a3b9d49052c86bb38ee65c2045bfc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c8816e02ba2fc5e192a48bbde383073871b4186961bba063aa68d5a3c7164a9edbd5d10218aafab0e5be4df46b131f0502f45ca19eb893f9b876d700363d27e
|
7
|
+
data.tar.gz: 0e963d7b0d1ad86c84e96298f30f02d0580abdf766984a7400ef3b6cb0021a7a2548383641a9871452f2325553ffb70bc99628437cdcb1920ddac0d4bea31f9f
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
### Version Changelog
|
2
|
+
1.1.3 Updated to use [Paint v. 2.0](https://github.com/janlelis/paint) gem.
|
3
|
+
|
4
|
+
1.0.1 Fixes issue [#33](https://github.com/thoom/restclient/issues/33).
|
5
|
+
|
6
|
+
1.0.0 RestClient => RestUp. _Finally_ out of beta.
|
7
|
+
- Fixes Github issue [#30](https://github.com/thoom/restclient/issues/30) by renaming RestClient to RestUp.
|
8
|
+
- Fixes Github issue [#28](https://github.com/thoom/restclient/issues/28). `--form` converts JSON to form data only.
|
9
|
+
To use form data, manually set the header using the `-h` option or set the header in the configuration.
|
10
|
+
- Fixes Github issues [#24](https://github.com/thoom/restclient/issues/24) and [#25](https://github.com/thoom/restclient/issues/25). Use `--verbose` or set `flags: { display: verbose }` in config.
|
11
|
+
- Fixes Github issue [#31](https://github.com/thoom/restclient/issues/31). Use `-c` or `--config` to pass in another config file.
|
12
|
+
- Fixes Github issue [#20](https://github.com/thoom/restclient/issues/20).
|
13
|
+
- Fixes Github issue [#11](https://github.com/thoom/restclient/issues/11).
|
14
|
+
|
15
|
+
|
16
|
+
0.14.3 Fixes Github issues [#21](https://github.com/thoom/restclient/issues/21) and [#26](https://github.com/thoom/restclient/issues/26).
|
17
|
+
You can use YAML now instead of JSON for JSON requests. Since JSON is a subset of YAML, this is not a breaking change.
|
18
|
+
|
19
|
+
0.14.2 Fixes Github issue [#17](https://github.com/thoom/restclient/issues/17). It also simplifies how files or data are passed into the client.
|
20
|
+
Breaking change because flags -f and -d have been removed. Instead just pass in with STDIN instead.
|
21
|
+
|
22
|
+
0.13.0 Fixes Github issue [#13](https://github.com/thoom/restclient/issues/13).
|
23
|
+
Breaking change since it no longer creates a config file if one doesn't exist.
|
24
|
+
|
25
|
+
0.12.1: Fixes Github issues [#12](https://github.com/thoom/restclient/issues/12) and [#19](https://github.com/thoom/restclient/issues/19).
|
26
|
+
If using the library class instead of the CLI, you can pass in a `Thoom::HashConfig` object,
|
27
|
+
instead of requiring a YAML file. CLI no longer generates a deprecated warning in the Ruby 2.3.
|
28
|
+
|
29
|
+
0.11.3: Adds a simple response time to the output.
|
30
|
+
|
31
|
+
0.11.2: Fixes Github issue [#10](https://github.com/thoom/restclient/issues/10).
|
32
|
+
|
33
|
+
0.11.1: Fixes Github issues [#2](https://github.com/thoom/restclient/issues/2), [#5](https://github.com/thoom/restclient/issues/5), [#6](https://github.com/thoom/restclient/issues/6), [#7](https://github.com/thoom/restclient/issues/7), and [#8](https://github.com/thoom/restclient/issues/8). If a configuration file is not found,
|
34
|
+
there is now a simple wizard that will ask a few questions and then generate the config file.
|
35
|
+
|
36
|
+
0.10.1: Fixes Github issues [#1](https://github.com/thoom/restclient/issues/1) and [#4](https://github.com/thoom/restclient/issues/4). `PUT`, `PATCH`, and `POST` all set a default `JSON` content type. Added `--response-only` flag.
|
37
|
+
|
38
|
+
0.10.0: Fixed a bug missed where headers in the YAML file were not parsed. Changed the YAML :headers: to use a hash instead of array.
|
39
|
+
|
40
|
+
0.9.3: Rewrote console output mechanism. Fixed a few bugs related to YAML configuration. Added `--response-code-only` and `--success-only` flags.
|
41
|
+
|
42
|
+
0.9.0: Significant internal refactoring to the client. Also changed console coloring dependency to the `Paint` gem instead of `Colored` gem.
|
43
|
+
|
44
|
+
0.8.5: Added option to save response to the filename in the content-disposition if that header is passed.
|
45
|
+
|
46
|
+
0.8.4: Added option to save response to a file by passing in the -o {file} arg. For binary files, response is never output in summary.
|
47
|
+
|
48
|
+
0.7.5: Added option to change the request timeout. Added option to disable TLS cert validation (Useful with self-signed certs).
|
49
|
+
|
50
|
+
0.7.0: Removed dependency on Nokogiri for XML parsing.
|
data/README.md
CHANGED
@@ -31,25 +31,26 @@ To install:
|
|
31
31
|
|
32
32
|
To run:
|
33
33
|
|
34
|
-
docker run --rm -v $PWD:/
|
34
|
+
docker run --rm -v $PWD:/restup thoom/restup
|
35
35
|
|
36
36
|
A sample shell script `restup`:
|
37
37
|
|
38
38
|
#!/bin/bash
|
39
|
-
docker run --rm -v $PWD:/
|
39
|
+
docker run --rm -v $PWD:/restup thoom/restup "@"
|
40
40
|
|
41
41
|
Console
|
42
42
|
-------
|
43
43
|
|
44
44
|
Usage: restclient [options] ENDPOINT
|
45
|
-
--concise
|
45
|
+
--concise Simplified response view
|
46
46
|
--content-disposition For responses with a filename in the Content Disposition, save the response using that filename
|
47
47
|
--form Converts JSON-formatted input and encode it as x-www-form-urlencoded
|
48
48
|
--response-only Only outputs the response body
|
49
49
|
--response-code-only Only outputs the response code
|
50
50
|
--success-only Only outputs whether or not the request was successful
|
51
51
|
--cert CERTFILE Imports cert for Client-Authentication endpoints
|
52
|
-
-c, --config FILE Config file to use. Defaults to .restup.yml
|
52
|
+
-c, --config FILE Config file to use. Defaults to .restup.yml
|
53
|
+
-e, --env ENVIRONMENT Sets YAML environment for the request
|
53
54
|
-h, --header HEADER Sets arbitrary header passed in format "HEADER: VALUE"
|
54
55
|
-j, --json [c|a] Sets the Content-Type and/or Accept Headers to use JSON mime types (i.e. -ja)
|
55
56
|
-m, --method The HTTP method to use (defaults to GET)
|
@@ -57,9 +58,9 @@ Console
|
|
57
58
|
-p, --password PASSWORD Password for Basic Authentication
|
58
59
|
-u, --username USERNAME Username for Basic Authentication
|
59
60
|
-x, --xml [c|a] Sets the Content-Type and/or Accept Headers to use XML mime types (i.e. -xc)
|
60
|
-
--verbose
|
61
|
+
--verbose Expanded response view
|
61
62
|
--version Shows client version
|
62
|
-
--help [details] Shows this
|
63
|
+
--help [details] Shows this help dialog
|
63
64
|
|
64
65
|
YAML config
|
65
66
|
-----------
|
@@ -93,11 +94,8 @@ folders.
|
|
93
94
|
Default: response_only
|
94
95
|
|
95
96
|
headers: Hash of default headers. Useful for custom headers or headers used in every request.
|
96
|
-
The keys for this hash are strings, not symbols like the other keys
|
97
|
-
|
98
97
|
timeout: The number of seconds to wait for a response before timing out. Default: 300
|
99
|
-
|
100
|
-
tls_verify: When using TLS, the verify mode to use. Values: true, false. Default: true
|
98
|
+
tls_verify: Whether or not to verify TLS (SSL) certificates. Values: true, false. Default: true
|
101
99
|
|
102
100
|
xmethods: Array of nonstandard methods that are accepted by the API. To use these methods the
|
103
101
|
API must support X-HTTP-Method-Override.
|
@@ -124,8 +122,8 @@ To use without the config:
|
|
124
122
|
Submits a GET request to `http://example/api/hello/world` with Basic Auth header using the
|
125
123
|
user and pass values in the config.
|
126
124
|
|
127
|
-
It would return JSON values. If successful, the JSON would be parsed and highlighted in
|
128
|
-
the an error was returned (an HTTP response code >= 400), the body would be in
|
125
|
+
It would return JSON values. If successful, the JSON would be parsed and highlighted in __colors['success']__. If
|
126
|
+
the an error was returned (an HTTP response code >= 400), the body would be in __colors['error']__.
|
129
127
|
|
130
128
|
### POST Request
|
131
129
|
|
@@ -149,8 +147,8 @@ Submits a POST request to `http://example/api/hello/world` with Basic Auth heade
|
|
149
147
|
user and pass values in the config. It imports the salutation.json and passes it to the API as application/json
|
150
148
|
content type. It would also set the `X-Custom-Id` header with every request.
|
151
149
|
|
152
|
-
It would return JSON values. If successful, the JSON would be parsed and highlighted in
|
153
|
-
the an error was returned (an HTTP response code >= 400), the body would be in
|
150
|
+
It would return JSON values. If successful, the JSON would be parsed and highlighted in __colors['success']__. If
|
151
|
+
the an error was returned (an HTTP response code >= 400), the body would be in __colors['error']__.
|
154
152
|
|
155
153
|
|
156
154
|
Migration From RestClient
|
data/bin/restup
CHANGED
@@ -36,7 +36,7 @@ opts_builder = nil
|
|
36
36
|
|
37
37
|
parser = OptionParser.new do |o|
|
38
38
|
o.banner = 'Usage: restup [options] ENDPOINT'
|
39
|
-
o.on('--concise', '
|
39
|
+
o.on('--concise', 'Simplified response view') do
|
40
40
|
opts[:display] = :concise
|
41
41
|
end
|
42
42
|
|
@@ -59,7 +59,7 @@ parser = OptionParser.new do |o|
|
|
59
59
|
opts[:display] = :success_only
|
60
60
|
end
|
61
61
|
|
62
|
-
o.on('--cert
|
62
|
+
o.on('--cert FILE', 'Imports cert for Client-Authentication endpoints') do |cert|
|
63
63
|
opts[:cert] = cert
|
64
64
|
end
|
65
65
|
|
@@ -88,7 +88,7 @@ parser = OptionParser.new do |o|
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
o.on('-m', '--method METHOD', '
|
91
|
+
o.on('-m', '--method METHOD', 'The HTTP method to use') do |method_name|
|
92
92
|
opts[:method] = method_name
|
93
93
|
end
|
94
94
|
|
@@ -116,7 +116,7 @@ parser = OptionParser.new do |o|
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
-
o.on('--verbose', '
|
119
|
+
o.on('--verbose', 'Expanded response view') do
|
120
120
|
opts[:display] = :verbose
|
121
121
|
end
|
122
122
|
|
data/lib/constants.rb
CHANGED
data/lib/output_builder.rb
CHANGED
@@ -90,11 +90,8 @@ flags: Default command line options
|
|
90
90
|
Default: response_only
|
91
91
|
|
92
92
|
headers: Hash of default headers. Useful for custom headers or headers used in every request.
|
93
|
-
The keys for this hash are strings, not symbols like the other keys
|
94
|
-
|
95
93
|
timeout: The number of seconds to wait for a response before timing out. Default: 300
|
96
|
-
|
97
|
-
tls_verify: When using TLS, the verify mode to use. Values: true, false. Default: true
|
94
|
+
tls_verify: Whether or not to verify TLS (SSL) certificates. Values: true, false. Default: true
|
98
95
|
|
99
96
|
xmethods: Array of nonstandard methods that are accepted by the API. To use these methods the
|
100
97
|
API must support X-HTTP-Method-Override.
|
@@ -216,21 +213,21 @@ TEXT
|
|
216
213
|
else
|
217
214
|
body = response.body
|
218
215
|
begin
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
216
|
+
body.encode!('ASCII-8BIT') if body.encoding.to_s != 'ASCII-8BIT'
|
217
|
+
|
218
|
+
body = if response['content-type'].nil?
|
219
|
+
body
|
220
|
+
elsif response['content-type'].include? 'json'
|
221
|
+
JSON.pretty_unparse(JSON.parse(body))
|
222
|
+
elsif response['content-type'].include? 'xml'
|
223
|
+
xp(body)
|
224
|
+
else
|
225
|
+
body
|
226
|
+
end
|
227
|
+
puts Paint[body, response_color]
|
228
|
+
rescue EncodingError
|
229
|
+
puts Paint["RESPONSE contains non-UTF-8 data, so it's not echoed here.", colors[:info]]
|
230
|
+
end
|
234
231
|
end
|
235
232
|
end
|
236
233
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Z.d. Peacock
|
@@ -16,21 +16,25 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
description: A class and executable for interacting with RESTful web services
|
28
28
|
email: zdp@thoomtech.com
|
29
29
|
executables:
|
30
30
|
- restup
|
31
31
|
extensions: []
|
32
|
-
extra_rdoc_files:
|
32
|
+
extra_rdoc_files:
|
33
|
+
- README.md
|
34
|
+
- CHANGELOG.md
|
35
|
+
- LICENSE
|
33
36
|
files:
|
37
|
+
- CHANGELOG.md
|
34
38
|
- LICENSE
|
35
39
|
- README.md
|
36
40
|
- bin/restup
|
@@ -50,7 +54,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
50
54
|
requirements:
|
51
55
|
- - ">="
|
52
56
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
57
|
+
version: '2.1'
|
54
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
59
|
requirements:
|
56
60
|
- - ">="
|