rule_engine_client 0.1.9 → 0.1.10

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rule_engine_client.rb +29 -34
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbb8d1d41bc3a3349d3833e43067ea0a88d6a86987099df2f2cb44c035b805a8
4
- data.tar.gz: 4e63551f1046d994e701bc252915ba67b607bc25e0b1ccc0272e7c5baa47e433
3
+ metadata.gz: d1b95bd4b0bd8099878d8b57f32a032dea0053c8e83832f01a8e3342c7d56081
4
+ data.tar.gz: 3c0fc92094388561886b7a4c9c8a2715bf30fd6011ccd36dc194f7b753df3a4a
5
5
  SHA512:
6
- metadata.gz: 745d7961b437e8778116261b8d44f5fb464e16adc795d210ce5b96237619c661abf309c2710b4229b33f87491192d740aab74145ac81e6156b8c0ff8df783bb0
7
- data.tar.gz: 24d66a7ba9655df2a4f37d282e0695ab58f478096b555f7a26352a72a0fd0f065563bedd56d893b7ed9e35e4254143794ade498a1bbfa7bfc61f127a50c718fc
6
+ metadata.gz: a013886767656956cc8dd7b40603289c9bfe70e300341b755212f93fd0fe3c8579c110c6615647085bb0b3bfcf3b4896bdb60b0f0658f4273f9db3237f7c5a8b
7
+ data.tar.gz: 19472829863cd6e47b91a3ba1d88c4e475778e0432b4979311bdc9e0b76d7ba71b8d9f5fbf4c1c4e1c90a2ad8faec50a8f4492ff1bd81950b2db80dd295210cb
@@ -16,36 +16,25 @@ class RuleEngineClient
16
16
  def evaluate(engine, params, mode = 'production')
17
17
  url = URI.parse("#{@server}/run?e=#{engine}&m=#{mode}")
18
18
  log("Will send post request: #{url}")
19
- begin
20
- Timeout.timeout(@request_timeout_in_s) do
21
- @result = create_request(url, 'post', params)
22
- respone = response_builder
23
- log("respone #{respone}")
24
- respone
25
- end
26
- rescue Timeout::Error
27
- log('HTTP Gatway timeout!')
28
- @time_out = true
29
- response_builder
30
- end
19
+ @result = create_request(url, 'POST', params)
20
+ respone = response_builder
21
+ log("respone #{respone}")
22
+ respone
31
23
  end
32
24
 
33
25
  def engine_exists?(engine)
34
26
  log("checking if engine (#{engine}) exists")
35
27
  url = URI.parse("#{@server}/engine/export?e=#{engine}")
36
28
  log("Will send get request: #{url}")
37
- begin
38
- Timeout.timeout(@request_timeout_in_s) do
39
- response = create_request(url, 'get')
40
- engine_exists = response.code == '200'
41
- log_message = engine_exists ? "engine #{engine} exists" : "engine #{engine} not found"
42
- log(log_message)
43
- engine_exists
44
- end
45
- rescue Timeout::Error
46
- log('HTTP Gateway timeout!')
47
- false
29
+ response = create_request(url, 'GET')
30
+ if @time_out
31
+ engine_exists = false
32
+ else
33
+ engine_exists = response.code == '200'
34
+ log_message = engine_exists ? "engine #{engine} exists" : "engine #{engine} not found"
35
+ log(log_message)
48
36
  end
37
+ engine_exists
49
38
  end
50
39
 
51
40
  private
@@ -70,7 +59,7 @@ class RuleEngineClient
70
59
 
71
60
  def response_builder
72
61
  if @time_out
73
- errors = ['HTTP Gatway timeout!']
62
+ errors = ['HTTP Gateway timeout!']
74
63
  body = {}
75
64
  code = 504
76
65
  elsif @result.code == '502'
@@ -91,16 +80,22 @@ class RuleEngineClient
91
80
  end
92
81
 
93
82
  def create_request(url, request_type, params = {})
94
- http = Net::HTTP.new(url.host, url.port)
95
- http.use_ssl = true if url.instance_of? URI::HTTPS
96
- if request_type == 'GET'
97
- request = Net::HTTP::Get.new(url.request_uri)
98
- else
99
- request = Net::HTTP::Post.new(url.request_uri)
100
- request.body = params.to_json
101
- log("request body created #{request.body} ")
83
+ Timeout.timeout(@request_timeout_in_s) do
84
+ http = Net::HTTP.new(url.host, url.port)
85
+ http.use_ssl = true if url.instance_of? URI::HTTPS
86
+ if request_type == 'GET'
87
+ request = Net::HTTP::Get.new(url.request_uri)
88
+ else
89
+ request = Net::HTTP::Post.new(url.request_uri)
90
+ request.body = params.to_json
91
+ log("request body created #{request.body} ")
92
+ end
93
+ request['Content-Type'] = 'application/json'
94
+ request['Accept'] = 'application/json'
95
+ http.request(request)
102
96
  end
103
- request['Content-Type'] = 'application/json'
104
- http.request(request)
97
+ rescue Timeout::Error
98
+ log('HTTP Gateway timeout!')
99
+ @time_out = true
105
100
  end
106
101
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rule_engine_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Areej Nour
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-11 00:00:00.000000000 Z
11
+ date: 2022-08-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: integration with rule server
14
14
  email: