8000 refactor parsing, making request and error handling · browserstack/ruby-browserstack@4c7703a · GitHub
[go: up one dir, main page]

Skip to content

Commit 4c7703a

Browse files
committed
refactor parsing, making request and error handling
1 parent 8a79834 commit 4c7703a

File tree

1 file changed

+16
-27
lines changed

1 file changed

+16
-27
lines changed

lib/browserstack/client.rb

Expand all lines: lib/browserstack/client.rb
Lines changed: 16 additions & 27 deletions
< 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">
Original file line numberDiff line numberDiff line change
@@ -16,52 +16,34 @@ def initialize(params)
1616

1717
def get_browsers(os = nil)
1818
if update_cache?
19-
connection = create_new_connection
2019
call = Net::HTTP::Get.new("/#{self.version}/browsers")
21-
add_authentication(call)
22-
res = make_request(connection, call)
20+
@browsers = parse make_request(call)
2321
@latest_update = Time.now
24-
parser = Yajl::Parser.new(:symbolize_keys => true)
25-
@browsers = parser.parse(res.body)
2622
end
2723
return_with_os(os)
2824
end
2925

3026
def create_worker(settings)
3127
settings ||= {}
32-
connection = create_new_connection
3328
call = Net::HTTP::Post.new("/#{self.version}/worker")
3429
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]
3832
end
3933

4034
def terminate_worker(worker_id)
41-
connection = create_new_connection
4235
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)
36+
parse make_request(call)
4737
end
4838

4939
def get_worker_status(worker_id)
50-
connection = create_new_connection
5140
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)
5642
end
5743

5844
def get_workers
59-
connection = create_new_connection
6045
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)
6547
end
6648

6749
def get_supported_os_list
@@ -73,18 +55,25 @@ def create_new_connection
7355
Net::HTTP.new(HOSTNAME, 80)
7456
end
7557

58+
def parse(response)
59+
parser = Yajl::Parser.new(:symbolize_keys => true)
60+
parser.parse(response.body)
61+
end
62+
7663
def add_authentication(call)
7764
call["Authorization"] = @authentication
7865
end
7966

80-
def make_request(connection, call)
67+
def make_request(call)
68+
connection = create_new_connection
69+
add_authentication(call)
8170
res = connection.request(call)
8271
case res.code.to_i
8372
when 200
8473
res
8574
when 401
8675
raise "Unauthorized User"
87-
when 422
76+
when 422, 403
8877
raise_validation_error(res)
8978
else
9079
raise res.body
@@ -95,7 +84,7 @@ def raise_validation_error(res)
9584
parser = Yajl::Parser.new(:symbolize_keys => true)
9685
data = parser.parse(res.body)
9786
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" }
9988
raise message
10089
end
10190

0 commit comments

Comments
 (0)
0