@@ -16,52 +16,34 @@ def initialize(params)
16
16
17
17
def get_browsers ( os = nil )
18
18
if update_cache?
19
- connection = create_new_connection
20
19
call = Net ::HTTP ::Get . new ( "/#{ self . version } /browsers" )
21
- add_authentication ( call )
22
- res = make_request ( connection , call )
20
+ @browsers = parse make_request ( call )
23
21
@latest_update = Time . now
24
- parser = Yajl ::Parser . new ( :symbolize_keys => true )
25
- @browsers = parser . parse ( res . body )
26
22
end
27
23
return_with_os ( os )
28
24
end
29
25
30
26
def create_worker ( settings )
31
27
settings ||= { }
32
- connection = create_new_connection
33
28
call = Net ::HTTP ::Post . new ( "/#{ self . version } /worker" )
34
29
call . set_form_data ( settings )
35
- add_authentication ( call )
36
- res = make_request ( connection , call )
37
- Yajl ::Parser . parse ( res . body ) [ 'id' ]
30
+ data = parse make_request ( call )
31
+ data [ :id ]
38
32
end
39
33
40
34
def terminate_worker ( worker_id )
41
- connection = create_new_connection
42
35
call = Net ::HTTP ::Delete . new ( "/#{ self . version } /worker/#{ worker_id } " )
43
- add_authentication ( call )
44
- res = make_request ( connection , call )
45
- parser = Yajl ::Parser . new ( :symbolize_keys => true )
46
- parser . parse ( res . body )
<
10000
td data-grid-cell-id="diff-79f290cbabfdbb7875fffcffe8d9c7419846c26d0b557b4db553d92bda77081a-46-36-0" data-selected="false" role="gridcell" style="background-color:var(--diffBlob-additionNum-bgColor, var(--diffBlob-addition-bgColor-num));text-align:center" tabindex="-1" valign="top" class="focusable-grid-cell diff-line-number position-relative left-side">
36
+ parse make_request ( call )
47
37
end
48
38
49
39
def get_worker_status ( worker_id )
50
- connection = create_new_connection
51
40
call = Net ::HTTP ::Get . new ( "/#{ self . version } /worker/#{ worker_id } " )
52
- add_authentication ( call )
53
- res = make_request ( connection , call )
54
- parser = Yajl ::Parser . new ( :symbolize_keys => true )
55
- parser . parse ( res . body )
41
+ parse make_request ( call )
56
42
end
57
43
58
44
def get_workers
59
- connection = create_new_connection
60
45
call = Net ::HTTP ::Get . new ( "/#{ self . version } /workers" )
61
- add_authentication ( call )
62
- res = make_request ( connection , call )
63
- parser = Yajl ::Parser . new ( :symbolize_keys => true )
64
- parser . parse ( res . body )
46
+ parse make_request ( call )
65
47
end
66
48
67
49
def get_supported_os_list
@@ -73,18 +55,25 @@ def create_new_connection
73
55
Net ::HTTP . new ( HOSTNAME , 80 )
74
56
end
75
57
58
+ def parse ( response )
59
+ parser = Yajl ::Parser . new ( :symbolize_keys => true )
60
+ parser . parse ( response . body )
61
+ end
62
+
76
63
def add_authentication ( call )
77
64
call [ "Authorization" ] = @authentication
78
65
end
79
66
80
- def make_request ( connection , call )
67
+ def make_request ( call )
68
+ connection = create_new_connection
69
+ add_authentication ( call )
81
70
res = connection . request ( call )
82
71
case res . code . to_i
83
72
when 200
84
73
res
85
74
when 401
86
75
raise "Unauthorized User"
87
- when 422
76
+ when 422 , 403
88
77
raise_validation_error ( res )
89
78
else
90
79
raise res . body
@@ -95,7 +84,7 @@ def raise_validation_error(res)
95
84
parser = Yajl ::Parser . new ( :symbolize_keys => true )
96
85
data = parser . parse ( res . body )
97
86
message = "#{ data [ :message ] } \n "
98
- data [ :errors ] . each { |error | message << "#{ error [ :field ] . to_s . capitalize } : #{ error [ :code ] } \n " }
87
+ data [ :errors ] . each { |error | message << "#{ error [ :field ] } : #{ error [ :code ] } \n " }
99
88
raise message
100
89
end
101
90
0 commit comments