egalite 1.5.12 → 1.5.13

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: af360c5c9530b4c2f17bc1c42003cc25adbc42b7
4
- data.tar.gz: 0b9d0dde1662c4ab5cf8a4cd6f72569442a6b25b
3
+ metadata.gz: f71d5fa8734782993543114f96b69ed47d414e59
4
+ data.tar.gz: 12d9f1ecc50ba1434829352afd4cb0a6c3619a1c
5
5
  SHA512:
6
- metadata.gz: dbd4f55fa4eaecef7fa0e4fa48666f210ee17cc7eef8130949d86b75030a3cfec0831d90146a2d362df903cda4eb5ef14ef6607fe94f6133ccd3a012592d6e99
7
- data.tar.gz: 753eed14ef841581c73b79f6e6832e0211bb4db02192d57d23c6309840cae4fb40ae96ffbdc9ddd2510cc00826056110fa642760770832c81d28f50fa4cb75dd
6
+ metadata.gz: f7124f20d90517eff35a7443109475cc90fc1e5fa173e18a4bab80afe2121d6cc55d52dda53d542a835c2386f6846d43554594f38a01488c71508a7ba210e1d8
7
+ data.tar.gz: 9e3dac0be1a31ffbae18bea9377d33e6b92af8ca864bfdeffc69084fbed80b49ce6d49d17cad535ba1be640820fc61cdd1d621625c896f9aa65802126a51d64d
@@ -0,0 +1,71 @@
1
+ require 'uri'
2
+ require 'net/http'
3
+ require 'net/https'
4
+
5
+ module Egalite
6
+ module HTTP
7
+ def self.parse_url(url, options)
8
+ uri = URI.parse(url)
9
+ http = Net::HTTP.new(uri.host, uri.port)
10
+ if uri.scheme == "https"
11
+ http.use_ssl = true
12
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
13
+ end
14
+ [http, uri]
15
+ end
16
+ def self.parse_options(options)
17
+ if options[:basic_auth]
18
+ u = options[:basic_auth][0]
19
+ pw = options[:basic_auth][1]
20
+ b = ["#{u}:#{pw}"].pack("m")
21
+ options[:header] ||= {}
22
+ options[:header]["Authorization"] = "Basic #{b}".chop
23
+ end
24
+ end
25
+ def self.parse_response(response)
26
+ ret = {}
27
+ ret[:body] = response.body
28
+ ret[:headers] = response.each {}
29
+ ret[:headers] = Hash[ret[:headers].map { |k,v|
30
+ [k.tr("-","_").downcase.to_sym,v[0]]
31
+ }]
32
+ ret[:headers][:content_length] = ret[:headers][:content_length].to_i
33
+ ret[:headers][:date] = Time.parse(ret[:headers][:date]) rescue ret[:headers][:date]
34
+ ret[:code] = response.code.to_i
35
+ ret
36
+ end
37
+ def self.get(url, options = {})
38
+ params = options[:params]
39
+ if params.is_a?(Hash)
40
+ params = params.map { |k,v|
41
+ "#{k}=#{v}"
42
+ }.join("&")
43
+ end
44
+ if params.is_a?(String)
45
+ if url =~ /\?/
46
+ url << "&"
47
+ else
48
+ url << "?"
49
+ end
50
+ url << params
51
+ end
52
+ parse_options(options)
53
+ (http, uri) = parse_url(url, options)
54
+ resp = http.get(uri.request_uri, options[:header])
55
+ parse_response(resp)
56
+ end
57
+ def self.post(url, body = nil, options = {})
58
+ uri = parse_url(url,options)
59
+ if body.is_a?(Hash)
60
+ body = body.map { |k,v|
61
+ "#{k}=#{v}"
62
+ }.join("&")
63
+ end
64
+ parse_options(options)
65
+ (http, uri) = parse_url(url, options)
66
+ resp = http.post(uri.request_uri, body, options[:header])
67
+ parse_response(resp)
68
+ end
69
+ end
70
+ end
71
+
@@ -1,3 +1,3 @@
1
1
  module Egalite
2
- VERSION = "1.5.12"
2
+ VERSION = "1.5.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: egalite
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.12
4
+ version: 1.5.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shunichi Arai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-06 00:00:00.000000000 Z
11
+ date: 2016-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,6 +78,7 @@ files:
78
78
  - lib/egalite/cache.rb
79
79
  - lib/egalite/errorconsole.rb
80
80
  - lib/egalite/helper.rb
81
+ - lib/egalite/http.rb
81
82
  - lib/egalite/keitai/keitai.rb
82
83
  - lib/egalite/keitai/ketai.rb
83
84
  - lib/egalite/keitai/rack/ketai/carrier.rb