jsonatra 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/jsonatra.gemspec +2 -2
- data/lib/jsonatra.rb +4 -2
- data/lib/jsonatra/helpers/params.rb +4 -2
- data/lib/jsonatra/version.rb +1 -1
- data/test/helpers/params_spec.rb +5 -0
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d72c843869b09ed0672cc8135fa0100511efbd0
|
4
|
+
data.tar.gz: bb165bd6b5e16c551b738cdce808017e3f9732f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 565765275014eb83cdb2ba86eabdc0131235e31b02ea55554f6612c537fbc05e995da0461636b02b56cef6d3f188c5e98e9d9e2f0113d4260c505dde8f56b806
|
7
|
+
data.tar.gz: 78bf2d146c91e42b7bbd2b531ee517f456fcdd7ff9665ef5246af6313b4f867aaf49c26f5cc03b6554d645d6dad891aa5681e58d89b86f401a0b4311530f2a54
|
data/jsonatra.gemspec
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
require File.expand_path('../lib/jsonatra/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ["Kenichi Nakamura"]
|
6
|
-
gem.email = ["kenichi.nakamura@gmail.com"]
|
5
|
+
gem.authors = ["Kenichi Nakamura", "Aaron Parecki"]
|
6
|
+
gem.email = ["kenichi.nakamura@gmail.com", "aaron@parecki.com"]
|
7
7
|
gem.description = gem.summary = "JSON API extension for Sinatra"
|
8
8
|
gem.homepage = "https://github.com/esripdx/jsonatra"
|
9
9
|
gem.files = `git ls-files | grep -Ev '^(myapp|examples)'`.split("\n")
|
data/lib/jsonatra.rb
CHANGED
@@ -90,7 +90,8 @@ module Jsonatra
|
|
90
90
|
error do
|
91
91
|
response.error = {
|
92
92
|
type: :unexpected,
|
93
|
-
message: 'An unexpected error has occured, please try your request again later'
|
93
|
+
message: 'An unexpected error has occured, please try your request again later',
|
94
|
+
code: 500
|
94
95
|
}
|
95
96
|
end
|
96
97
|
|
@@ -104,7 +105,8 @@ module Jsonatra
|
|
104
105
|
not_found do
|
105
106
|
response.error = {
|
106
107
|
type: :not_found,
|
107
|
-
message: "The requested path was not found: #{request.path}"
|
108
|
+
message: "The requested path was not found: #{request.path}",
|
109
|
+
code: 404
|
108
110
|
}
|
109
111
|
end
|
110
112
|
|
@@ -27,7 +27,8 @@ module Jsonatra
|
|
27
27
|
end
|
28
28
|
response.error = {
|
29
29
|
type: 'json_parse_error',
|
30
|
-
message: "could not process JSON: #{msg}"
|
30
|
+
message: "could not process JSON: #{msg}",
|
31
|
+
code: 400
|
31
32
|
}
|
32
33
|
halt
|
33
34
|
end
|
@@ -76,7 +77,8 @@ module Jsonatra
|
|
76
77
|
if body =~ /^[\{\[].*[\}\]]$/
|
77
78
|
response.error = {
|
78
79
|
type: 'content_type_mismatch',
|
79
|
-
message: 'Request looks like JSON but Content-Type header was not set to application/json'
|
80
|
+
message: 'Request looks like JSON but Content-Type header was not set to application/json',
|
81
|
+
code: 400
|
80
82
|
}
|
81
83
|
halt
|
82
84
|
end
|
data/lib/jsonatra/version.rb
CHANGED
data/test/helpers/params_spec.rb
CHANGED
@@ -69,4 +69,9 @@ describe Jsonatra::ParamsHelpers do
|
|
69
69
|
r['error']['type'].must_equal "content_type_mismatch"
|
70
70
|
end
|
71
71
|
|
72
|
+
it 'rejects invalid JSON input' do
|
73
|
+
post '/params', "*****&&\.>?;,*&{#@^*&!@$}&******", {'Content-Type' => 'application/json'}
|
74
|
+
puts r.inspect
|
75
|
+
end
|
76
|
+
|
72
77
|
end
|
metadata
CHANGED
@@ -1,38 +1,40 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsonatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenichi Nakamura
|
8
|
+
- Aaron Parecki
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2015-06-11 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: sinatra
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- -
|
18
|
+
- - ">="
|
18
19
|
- !ruby/object:Gem::Version
|
19
20
|
version: '0'
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
|
-
- -
|
25
|
+
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
26
27
|
version: '0'
|
27
28
|
description: JSON API extension for Sinatra
|
28
29
|
email:
|
29
30
|
- kenichi.nakamura@gmail.com
|
31
|
+
- aaron@parecki.com
|
30
32
|
executables: []
|
31
33
|
extensions: []
|
32
34
|
extra_rdoc_files: []
|
33
35
|
files:
|
34
|
-
- .gitignore
|
35
|
-
- .travis.yml
|
36
|
+
- ".gitignore"
|
37
|
+
- ".travis.yml"
|
36
38
|
- Gemfile
|
37
39
|
- LICENSE
|
38
40
|
- README.md
|
@@ -58,17 +60,17 @@ require_paths:
|
|
58
60
|
- lib
|
59
61
|
required_ruby_version: !ruby/object:Gem::Requirement
|
60
62
|
requirements:
|
61
|
-
- -
|
63
|
+
- - ">="
|
62
64
|
- !ruby/object:Gem::Version
|
63
65
|
version: '0'
|
64
66
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
67
|
requirements:
|
66
|
-
- -
|
68
|
+
- - ">="
|
67
69
|
- !ruby/object:Gem::Version
|
68
70
|
version: '0'
|
69
71
|
requirements: []
|
70
72
|
rubyforge_project:
|
71
|
-
rubygems_version: 2.
|
73
|
+
rubygems_version: 2.2.2
|
72
74
|
signing_key:
|
73
75
|
specification_version: 4
|
74
76
|
summary: JSON API extension for Sinatra
|
@@ -77,4 +79,3 @@ test_files:
|
|
77
79
|
- test/helpers/error_spec.rb
|
78
80
|
- test/helpers/params_spec.rb
|
79
81
|
- test/jsonatra_spec.rb
|
80
|
-
has_rdoc:
|