jwt_auth_token 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/router_helper.rb +7 -60
- metadata +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7a963b2d000e7eebba5d20368aa754afcb8fa5c
|
4
|
+
data.tar.gz: 5958f87dcd6547580819f7c5a78bd9cb618495c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80465b797fb38e02bece8b9874a4de2b2aec39341496be919f9e638ecad34514c9708a1d7ce288ebf0538bec890e7a6398be6d17f5559c5c7b902760b6eb6c8b
|
7
|
+
data.tar.gz: 7f7860caae67e1d16d8ea562f580b0f5c193c545de69f80ae01e49ac46b5fcfefc935a4c54285fe93477367a4285d36dd75ee505a9c2fc8e09bfed89e40ac92b
|
data/lib/router_helper.rb
CHANGED
@@ -1,70 +1,24 @@
|
|
1
|
-
ROUTES = {}
|
2
1
|
module RouterHelper
|
3
2
|
|
4
|
-
def
|
5
|
-
|
6
|
-
_req = OpenStruct.new(ROUTES[url])
|
7
|
-
payload = (JSON.parse(payload.to_json)).with_indifferent_access
|
3
|
+
def rest_client_url(url, _payload = {})
|
4
|
+
payload = _payload[:params] || {}
|
8
5
|
payload[:referer_service] = current_micro_service_name
|
6
|
+
headers = {"#{jwt_header_name}" => jwt_header_token}
|
7
|
+
headers = headers.merge(_payload[:headers]) if _payload[:headers]
|
8
|
+
verb = _payload[:method]
|
9
9
|
begin
|
10
|
-
data = RestClient::Request.execute(method:
|
10
|
+
data = RestClient::Request.execute(method: verb, url: url, payload: payload, headers: headers)
|
11
11
|
data = {code: data.code, data: JSON.parse(data.body), headers: data.headers, cookies: data.cookies}
|
12
12
|
rescue RestClient::Unauthorized, RestClient::Forbidden => err
|
13
13
|
data = JSON.parse(err.response)
|
14
14
|
rescue RestClient::ResourceNotFound => err
|
15
15
|
data = {code: 404, error: "Url not found #{_req.url}" }
|
16
16
|
rescue RestClient::InternalServerError => err
|
17
|
-
data = {code: 500, error: "Url not found #{_req.url}" }
|
18
|
-
rescue RestClient::UnprocessableEntity => err
|
19
|
-
data = {code: 422, errors: JSON.parse(err.response)}
|
17
|
+
data = {code: 500, error: "Url not found #{_req.url}" }
|
20
18
|
end
|
21
19
|
data
|
22
20
|
end
|
23
21
|
|
24
|
-
def get_routers
|
25
|
-
@_get_routers ||= set_routers
|
26
|
-
end
|
27
|
-
|
28
|
-
def set_routers
|
29
|
-
Rails.application.routes.routes.map do |route|
|
30
|
-
path = route.path.spec.to_s.gsub(/\(\.:format\)/, "").gsub(/:[a-zA-Z_]+/, "1")
|
31
|
-
next if path.include?("rails")
|
32
|
-
port = ":#{route.defaults[:port]}" if route.defaults[:port]
|
33
|
-
complete_url = "#{route.defaults[:host]}#{port}#{path}"
|
34
|
-
verb = %W{ GET POST PUT PATCH DELETE }.grep(route.verb).first.downcase.to_sym rescue nil
|
35
|
-
route_name = route.defaults[:controller].gsub("/", "_") rescue route.name
|
36
|
-
alias_should_be = route.defaults[:alias_should_be]
|
37
|
-
final_key = "#{alias_should_be}_#{route_name}_#{verb}_url"
|
38
|
-
ROUTES[final_key] = { path: path, verb: verb, url: complete_url}.merge(route.defaults)
|
39
|
-
end
|
40
|
-
ROUTES.delete(ROUTES.first.first)
|
41
|
-
end
|
42
|
-
|
43
|
-
def export_urls_csv
|
44
|
-
get_routers
|
45
|
-
CSV.open("tmp/route_list_#{Rails.env}.csv", 'w') do |csv|
|
46
|
-
csv << [ROUTES.first[1].keys.map(&:to_s).unshift("alias") << ["development_url", "production_url"]].flatten
|
47
|
-
ROUTES.each do |key, values|
|
48
|
-
next if key.include?("rails") || key.include?("__url")
|
49
|
-
dev_url = "#{current_service_host_service_url}:#{current_service_host_service_port}#{values.values[2]}"
|
50
|
-
prod_url = "#{prod_domain}#{values.values[2]}"
|
51
|
-
csv << values.values.map(&:to_s).unshift(key) + [dev_url] + [prod_url]
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def prod_domain
|
57
|
-
"#{current_micro_service_name.split('_')[0]}.embibe.com"
|
58
|
-
end
|
59
|
-
|
60
|
-
def current_service_host_service_url
|
61
|
-
eval("#{current_micro_service_name.split('_')[0]}_host_service_url")
|
62
|
-
end
|
63
|
-
|
64
|
-
def current_service_host_service_port
|
65
|
-
eval("#{current_micro_service_name.split('_')[0]}_host_service_port")
|
66
|
-
end
|
67
|
-
|
68
22
|
def services_development_urls
|
69
23
|
@_services_development_urls ||= {user: {url: "http://localhost", port: 3000},
|
70
24
|
practice: {url: "http://localhost", port: 3001},
|
@@ -93,11 +47,4 @@ module RouterHelper
|
|
93
47
|
urls.map {|key,values| values.map {|k,v| define_method("#{key}_host_service_#{k}") { v }}}
|
94
48
|
end
|
95
49
|
|
96
|
-
def url_method_generation
|
97
|
-
get_routers
|
98
|
-
ROUTES.each do |_alias, values|
|
99
|
-
define_method(_alias) { |params| restClientUrl(_alias, params) }
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
50
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jwt_auth_token
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Afzal Lakdawala
|
@@ -115,4 +115,3 @@ signing_key:
|
|
115
115
|
specification_version: 4
|
116
116
|
summary: Json web token, setting data to header
|
117
117
|
test_files: []
|
118
|
-
has_rdoc:
|