http-exceptions_parser 0.1.0
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 +7 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +2 -0
- data/README.md +41 -0
- data/Rakefile +8 -0
- data/http-exceptions_parser.gemspec +36 -0
- data/lib/http/exceptions_parser.rb +14 -0
- data/lib/http/exceptions_parser/parser.rb +20 -0
- data/lib/http/exceptions_parser/version.rb +5 -0
- metadata +98 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d28f6cb6e74f627e8afa1e1b695214be05095c4e
|
4
|
+
data.tar.gz: fa13a8600c304fd00ac0fec70d504edf44a1c524
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: da3011227c3573256da65ee6dd70724df2c5e9d172248650b4ac9447470221824f84fd91b7836a3fea2483ece443f89ba09300be7007596437f7ac70fdd0023d
|
7
|
+
data.tar.gz: 9ab4be0041421003247238a9ea54ab6e801db041751d5087a136a087f0f90083c09d33322a0a102aa0ac6f1b49e0432f2ca46f26c4368666035b0bb43015d248
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.1
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# Http::ExceptionsParser
|
2
|
+
|
3
|
+
[](https://rubygems.org/gems/http-exceptions_parser)
|
4
|
+
|
5
|
+
Parser that parses the exception message returned from the exception message returned from the [Http::Exceptions](https://github.com/rainforestapp/http-exceptions) gem.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
gem 'http-exceptions_parser'
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install http-exceptions_parser
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
Add the following to your ruby program:
|
24
|
+
|
25
|
+
require 'http/exceptions_parser'
|
26
|
+
|
27
|
+
Now parse the message returned from HttpExceptions
|
28
|
+
|
29
|
+
msg = "An error as occured while processing response. Status 404\nNot Found"
|
30
|
+
e = Http::ExceptionsParser.new(msg)
|
31
|
+
e.response.code
|
32
|
+
e.response.body
|
33
|
+
e.original_exception
|
34
|
+
|
35
|
+
## Contributing
|
36
|
+
|
37
|
+
1. Fork it
|
38
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
39
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
40
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
41
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
|
4
|
+
require 'http/exceptions_parser/version'
|
5
|
+
require 'time'
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = 'http-exceptions_parser'
|
9
|
+
s.version = Http::ExceptionsParser::VERSION
|
10
|
+
s.date = Date.today.to_s
|
11
|
+
s.authors = ['Kobus Joubert']
|
12
|
+
s.email = ['kobus@translate3d.com']
|
13
|
+
s.license = 'MIT'
|
14
|
+
|
15
|
+
s.summary = %q{http-exceptions message parser}
|
16
|
+
s.description = %q{Parses the exception message returned from the http-exceptions gem.}
|
17
|
+
s.homepage = "http://rubygems.org/gems/http-exceptions_parser"
|
18
|
+
|
19
|
+
if s.respond_to?(:metadata)
|
20
|
+
s.metadata['allowed_push_host'] = 'https://rubygems.org'
|
21
|
+
else
|
22
|
+
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
|
23
|
+
end
|
24
|
+
|
25
|
+
s.required_ruby_version = '>= 2.3.0'
|
26
|
+
|
27
|
+
s.add_development_dependency 'bundler', '~> 1.13'
|
28
|
+
s.add_development_dependency 'rspec', '~> 3.4'
|
29
|
+
s.add_development_dependency 'rake', '~> 10.0'
|
30
|
+
|
31
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
32
|
+
f.match(%r{^(test|spec|features)/})
|
33
|
+
end
|
34
|
+
|
35
|
+
s.require_paths = ['lib']
|
36
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Http
|
2
|
+
module ExceptionsParser
|
3
|
+
class Parser
|
4
|
+
attr_reader :response, :original_exception
|
5
|
+
|
6
|
+
def initialize(msg)
|
7
|
+
msg = msg.to_s
|
8
|
+
msg_code = /Status (\d{1,})/.match(msg)
|
9
|
+
msg_body = /\n(.*)( Original Exception: )/.match(msg)
|
10
|
+
msg_body = /\n(.*)/.match(msg) unless msg_body
|
11
|
+
code = msg_code[1].to_i if msg_code
|
12
|
+
body = msg_body[1] if msg_body
|
13
|
+
@response = OpenStruct.new(code: code, body: body)
|
14
|
+
|
15
|
+
original_exception = /Original Exception: (.*)/.match(msg)
|
16
|
+
@original_exception = original_exception[1] if original_exception
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: http-exceptions_parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kobus Joubert
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-03-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.4'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
description: Parses the exception message returned from the http-exceptions gem.
|
56
|
+
email:
|
57
|
+
- kobus@translate3d.com
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- ".rspec"
|
64
|
+
- ".ruby-version"
|
65
|
+
- ".travis.yml"
|
66
|
+
- Gemfile
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- http-exceptions_parser.gemspec
|
70
|
+
- lib/http/exceptions_parser.rb
|
71
|
+
- lib/http/exceptions_parser/parser.rb
|
72
|
+
- lib/http/exceptions_parser/version.rb
|
73
|
+
homepage: http://rubygems.org/gems/http-exceptions_parser
|
74
|
+
licenses:
|
75
|
+
- MIT
|
76
|
+
metadata:
|
77
|
+
allowed_push_host: https://rubygems.org
|
78
|
+
post_install_message:
|
79
|
+
rdoc_options: []
|
80
|
+
require_paths:
|
81
|
+
- lib
|
82
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 2.3.0
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
requirements: []
|
93
|
+
rubyforge_project:
|
94
|
+
rubygems_version: 2.5.1
|
95
|
+
signing_key:
|
96
|
+
specification_version: 4
|
97
|
+
summary: http-exceptions message parser
|
98
|
+
test_files: []
|