txcatcher 0.1.72 → 0.1.73

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74093f757ec54f54173a14105b6952219b8076b0
4
- data.tar.gz: 9d38608c5c29a6f59ef90a441d16a5d529cc3a99
3
+ metadata.gz: 483593f92c1e8b650fe1a3d2ec4ba03a0b49c5f1
4
+ data.tar.gz: 496f1a17eda64bfd6c3741847f970f55167c7d2c
5
5
  SHA512:
6
- metadata.gz: 42172fe4d2c92f3185e4e9e744429ed6f482d82df9e77436507029c658a5fb42b048b7324d2e581acc12fb1d8604f644eb60a13c3a057156ee1a364259bd6bdc
7
- data.tar.gz: 81b97e896aa096bb02d554ffaba8425c4f750c4c16d7ca688d9d49d12aa29b5d6c545cdb7a9d0e479aa1e7586954e28346f87622393d19aede8ac2a7a6dafbc7
6
+ metadata.gz: d8717aeb9dbf47aec7b505864c815d1638f88e2a7e7281ca8bbc4eca727b120f77b9850d280907b1866089d13aa9d12710558e88f01d7e5931365869d1bfba2c
7
+ data.tar.gz: b4b5bd85583e4c8b8f4ee5a9f6c0f0c4c9fc3d7422e3fa116b5daf7ab73d69271c04e979053a73c2b4b506d846a46581a3c613a51aea62ed656dca00accbb71d
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.72
1
+ 0.1.73
@@ -6,6 +6,7 @@ require 'uri'
6
6
  require 'json'
7
7
 
8
8
  class BitcoinRPC
9
+
9
10
  def initialize(service_url)
10
11
  @uri = URI.parse(service_url)
11
12
  end
@@ -13,7 +14,7 @@ class BitcoinRPC
13
14
  def method_missing(name, *args)
14
15
  post_body = { 'method' => name, 'params' => args, 'id' => 'jsonrpc' }.to_json
15
16
  resp = JSON.parse( http_post_request(post_body) )
16
- raise JSONRPCError, resp['error'].to_s + " (method: '#{name}')" if resp['error']
17
+ raise JSONRPCError.new(resp['error'].merge({ "method" => name.to_s })) if resp['error']
17
18
  resp['result']
18
19
  end
19
20
 
@@ -26,5 +27,12 @@ class BitcoinRPC
26
27
  http.request(request).body
27
28
  end
28
29
 
29
- class JSONRPCError < RuntimeError; end
30
+ class JSONRPCError < RuntimeError
31
+ attr_accessor :data
32
+ def initialize(data)
33
+ super(data.to_s)
34
+ self.data = data
35
+ end
36
+ end
37
+
30
38
  end
@@ -6,7 +6,13 @@ module TxCatcher
6
6
 
7
7
  def response(env)
8
8
  uri = env["REQUEST_URI"]
9
- return route_for(uri)
9
+ begin
10
+ return route_for(uri)
11
+ rescue BitcoinRPC::JSONRPCError => e
12
+ return [400, {}, { error: e.data }.to_json]
13
+ rescue Exception => e
14
+ return [500, {}, { error: e.to_s }.to_json]
15
+ end
10
16
  end
11
17
 
12
18
  def route_for(path)
data/txcatcher.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: txcatcher 0.1.72 ruby lib
5
+ # stub: txcatcher 0.1.73 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "txcatcher"
9
- s.version = "0.1.72"
9
+ s.version = "0.1.73"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: txcatcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.72
4
+ version: 0.1.73
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Snitko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-15 00:00:00.000000000 Z
11
+ date: 2018-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: goliath