adsk_auth_service 1.0.23 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3831bc4e5b1f8295d772bcddbdaa8a05586b8a6a
4
- data.tar.gz: 873d24eb28f728615f3e8906dd168eaeaffe2ea7
3
+ metadata.gz: 907324dac0c36867e32fd63368528a56726fed22
4
+ data.tar.gz: ab1484824bcd901561a394216db9a5801d052921
5
5
  SHA512:
6
- metadata.gz: 97bc45d30d1ba40da1c77dfb915982a7275acab6e45f4fef106f426bc8b3da3119fa1f03bdfc222c5bd87f7c67f63df61fe01233bf3097b760219c6409b148a4
7
- data.tar.gz: c1cedc98cbd4dd56bc6efed8b6a2ef0a56bd10106b54723471b9f94e81353d0572f980bf86bd6eb9f52b70ff88e749e233e2c70cdb7c1e5221cc6086c144231d
6
+ metadata.gz: 79e733a19761c1baa179e23ea395b98890b1256af54d6ef6d428c95ffe6551e9847fb9234808c17f52d0909e60bed71947111efe1ee506fb77a0946a91da87f1
7
+ data.tar.gz: b0e3e5b534412deb91c46dcd17a805657050fe8c77c83aee44835a1d3ef5c7a0d44933d8c377727d615fd005d11a794f0359a0d8a01144fd5bc62a576a66efb2
data/Gemfile CHANGED
@@ -1,5 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rspec'
4
3
  gem 'config_service'
5
- gem 'faraday'
4
+ gem 'rest-client'
5
+
6
+ group :test do
7
+ gem 'rspec'
8
+ end
@@ -1,20 +1,19 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'adsk_auth_service'
3
- s.version = '1.0.23'
3
+ s.version = '1.1.0'
4
4
  s.summary = "Autodesk second phase token retrieval"
5
5
  s.description = "A gem for Autodesk 2-phase authentication service."
6
6
  s.authors = ['Linh Chau']
7
7
  s.email = 'chauhonglinh@gmail.com'
8
8
  s.files = [
9
- './Gemfile', './adsk_auth_service.gemspec',
9
+ './Gemfile', './adsk_auth_service.gemspec',
10
10
  'lib/adsk_auth_service.rb',
11
- 'lib/services/auth_service.rb',
12
- 'lib/utils/net_util.rb',
11
+ 'lib/services/auth_service.rb'
13
12
  ]
14
13
  s.homepage = 'https://github.com/linhchauatl/adsk_auth_service'
15
14
  s.license = 'MIT'
16
15
  s.add_runtime_dependency 'config_service'
17
- s.add_runtime_dependency 'faraday'
16
+ s.add_runtime_dependency 'rest-client'
18
17
 
19
18
  s.add_development_dependency 'rspec', '~> 3.1'
20
19
  end
@@ -10,7 +10,7 @@ rescue Exception => error
10
10
  end
11
11
 
12
12
 
13
- ['services', 'utils'].each do |sub_path|
13
+ ['services'].each do |sub_path|
14
14
  load_gem_lib(sub_path)
15
15
  rb_files = Dir.glob("#{File.expand_path('.')}/lib/#{sub_path}/*.rb")
16
16
  rb_files.each { |rb_file| require rb_file }
@@ -1,11 +1,11 @@
1
1
  require 'active_support'
2
2
  require 'active_support/core_ext'
3
- require_relative '../utils/net_util'
3
+ require 'rest-client'
4
4
 
5
5
  class AuthService
6
6
  class << self
7
7
  def load_config
8
- @@config ||= ConfigService.load_config('auth_keys.yml')[ConfigService.environment] rescue {}
8
+ @@config ||= ConfigService.load_config('auth_keys.yml')[ConfigService.environment]
9
9
  end
10
10
 
11
11
  def set_config(options = {})
@@ -20,16 +20,13 @@ class AuthService
20
20
  url = options['url'] || @@config['url']
21
21
  key = options['consumer_key'] || @@config['consumer_key']
22
22
  secret = options['consumer_secret'] || @@config['consumer_secret']
23
-
24
- ActiveSupport::JSON.decode(
25
- NetUtil.call_webservices(url,
26
- 'post',
27
- "client_id=#{key}&client_secret=#{secret}&grant_type=client_credentials",
28
- { headers: {'Content-Type' => 'application/x-www-form-urlencoded', 'grant_type' => 'client_credentials'} }).body
29
- )
23
+ response = RestClient.post(url,
24
+ "client_id=#{key}&client_secret=#{secret}&grant_type=client_credentials",
25
+ {'Content-Type' => 'application/x-www-form-urlencoded', 'grant_type' => 'client_credentials'} )
26
+ JSON.parse(response)
30
27
  end
31
28
 
32
29
  end
33
30
 
34
31
  load_config
35
- end
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adsk_auth_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.23
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linh Chau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-07 00:00:00.000000000 Z
11
+ date: 2016-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: config_service
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: faraday
28
+ name: rest-client
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -62,7 +62,6 @@ files:
62
62
  - "./adsk_auth_service.gemspec"
63
63
  - lib/adsk_auth_service.rb
64
64
  - lib/services/auth_service.rb
65
- - lib/utils/net_util.rb
66
65
  homepage: https://github.com/linhchauatl/adsk_auth_service
67
66
  licenses:
68
67
  - MIT
@@ -83,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
82
  version: '0'
84
83
  requirements: []
85
84
  rubyforge_project:
86
- rubygems_version: 2.4.6
85
+ rubygems_version: 2.6.7
87
86
  signing_key:
88
87
  specification_version: 4
89
88
  summary: Autodesk second phase token retrieval
@@ -1,95 +0,0 @@
1
- require 'net/https'
2
- require 'active_support'
3
- require 'faraday'
4
-
5
- class NetUtil
6
- READ_TIMEOUT = 600 # 10 minutes
7
- RETRY_TIMES = 3
8
- WAIT_TIME = 5 # Wait for 5 seconds before retry
9
-
10
- class << self
11
-
12
- # This method performs GET, PUT and POST requests to web services
13
- # Call it like this:
14
- # response = NetUtil.call_web_services(url) <= This will perform a GET, with url provided by the caller
15
- # response = NetUtil.call_web_services(url, 'post', doc) <= This will perform a POST, doc is the data to post, can be REXML::Document or XML String
16
- # In the case of GET, the returned XML data is 'response'
17
- # In the case of POST and PUT, the returned XML data is 'response.body'
18
- def call_webservices(url, method_name = 'get', data = '', options = { headers: {'Content-Type' => 'application/json'} })
19
- method_name = method_name.to_s.downcase
20
- try_time = 0
21
- begin
22
- NetUtil.send("do_#{method_name}", {url: url, data: data}.merge(options))
23
- rescue StandardError => error
24
- try_time += 1
25
- if try_time > RETRY_TIMES
26
- puts ("\n#{Time.now} Unrecoverable error in NetUtil.call_webservices: "\
27
- "#{error}\n#{error.backtrace.join("\n")}\n")
28
- # It is an unrecoverable error, throw the exception back, don't suppress it.
29
- raise "Unrecoverable error calling web services.\nURL: #{url}.\nError message: #{error.message}."
30
- end
31
-
32
- puts ("NetUtil.call_webservices #{url}:\nError happens: #{error}. Try #{try_time} time(s).")
33
- sleep(WAIT_TIME)
34
- retry
35
- end
36
- end
37
-
38
- def do_get(options)
39
- do_get_headers = build_header(options)
40
- params = options[:params] || {}
41
- do_get_url = options[:url]
42
- do_get_uri = URI.parse(do_get_url)
43
- conn = Faraday.new(:url => do_get_url) do |faraday|
44
- faraday.adapter Faraday.default_adapter
45
- end
46
-
47
- response = conn.get do |req|
48
- req.url do_get_uri.path, params
49
- do_get_headers.each { |key, value| req.headers[key] = value}
50
- end
51
- end
52
-
53
- def do_post(options)
54
- run_p(options, :post)
55
- end
56
-
57
- def do_put(options)
58
- run_p(options, :put)
59
- end
60
-
61
-
62
- def run_p(options, method_name)
63
- data = options[:data].to_s
64
-
65
- headers = build_header(options)
66
- url = options[:url]
67
- uri = URI.parse(url)
68
- req = Net::HTTP.new(uri.host, uri.port)
69
- req = set_ssl(req, url)
70
-
71
- req.read_timeout = READ_TIMEOUT
72
- req.open_timeout = READ_TIMEOUT
73
-
74
- return req.send(method_name, uri.path, data, headers)
75
- end
76
-
77
- def build_header(options)
78
- headers = (options[:headers] || { 'Content-Type' => 'application/json' }).dup
79
- conntent_type = ( headers['Content-Type'].nil? )? 'application/json' : headers['Content-Type']
80
- headers.delete('Content-Type')
81
- {'Content-Type' => conntent_type}.merge(headers)
82
-
83
- end
84
-
85
- def set_ssl(request, url)
86
- if url.start_with? 'https'
87
- request.use_ssl = true
88
- request.verify_mode = OpenSSL::SSL::VERIFY_NONE
89
- end
90
- request
91
- end
92
- end
93
- end
94
-
95
-