bolster 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bolster/version.rb +1 -1
- data/lib/bolster.rb +50 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b12373c6111af724647a7d90da0dc6367f60151b
|
4
|
+
data.tar.gz: e5f328a8a0cdb006345d4bd28dc13f2111b0a173
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2f51a214c79d6b66e99a8315ddde904d44665ce4771d5f89f9b41dae8ca96fdf2cc0d1a16db05e4d93fce3078f2a512352e43ee8d50933586b4d2a8f07242e4
|
7
|
+
data.tar.gz: 5185d8eb97877c6f244dd23c50cf1ea89a0721e489f2eb9e0fea98732f63de40321d8523996c53110800c0ed68b6a8203b4cb4456260634dbc5f414e27c8911c
|
data/lib/bolster/version.rb
CHANGED
data/lib/bolster.rb
CHANGED
@@ -1,5 +1,53 @@
|
|
1
|
-
require
|
1
|
+
require 'bolster/version'
|
2
|
+
require 'net/http'
|
2
3
|
|
3
4
|
module Bolster
|
4
|
-
|
5
|
+
class Server
|
6
|
+
def initialize(host, port, options = nil)
|
7
|
+
@host = host
|
8
|
+
@port = port
|
9
|
+
@options = options
|
10
|
+
end
|
11
|
+
|
12
|
+
def delete(uri)
|
13
|
+
res = request(Net::HTTP::Delete.new(uri))
|
14
|
+
res.body
|
15
|
+
end
|
16
|
+
|
17
|
+
def get(uri)
|
18
|
+
res = request(Net::HTTP::Get.new(uri))
|
19
|
+
res.body
|
20
|
+
end
|
21
|
+
|
22
|
+
def put(uri, json)
|
23
|
+
req = Net::HTTP::Put.new(uri)
|
24
|
+
req['content-type'] = 'application/json'
|
25
|
+
req.body = json
|
26
|
+
request(req)
|
27
|
+
end
|
28
|
+
|
29
|
+
def post(uri, json)
|
30
|
+
req = Net::HTTP::Post.new(uri)
|
31
|
+
req['content-type'] = 'application/json'
|
32
|
+
req.body = json
|
33
|
+
request(req)
|
34
|
+
end
|
35
|
+
|
36
|
+
def request(req)
|
37
|
+
res = Net::HTTP.start(@host, @port) { |h| h.request(req) }
|
38
|
+
unless res.kind_of?(Net::HTTPSuccess)
|
39
|
+
handle_error(req, res)
|
40
|
+
end
|
41
|
+
res
|
42
|
+
end
|
43
|
+
|
44
|
+
def handle_error(req, res)
|
45
|
+
e = RuntimeError.new(%Q{#{res.code}: #{res.message}
|
46
|
+
METHOD: #{req.method}
|
47
|
+
URI: #{req.path}
|
48
|
+
#{req.body}})
|
49
|
+
raise e
|
50
|
+
end
|
51
|
+
end
|
5
52
|
end
|
53
|
+
|