@@ -101,36 +101,38 @@ def self.send_request(path, q=nil)
101
101
if !@branch . nil? && !@branch . empty?
102
102
params [ "branch" ] = @branch
103
103
end
104
- if @proxy_details . empty?
105
104
106
- ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , params ) . read )
107
-
108
- elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . present? && @proxy_details [ :password ] . present?
109
-
110
- proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
111
- proxy_username = @proxy_details [ :username ]
112
- proxy_password = @proxy_details [ :password ]
113
-
114
- if !@branch . nil? && !@branch . empty?
115
- ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
116
- else
117
- ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
118
- end
119
-
120
-
121
- elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . empty? && @proxy_details [ :password ] . empty?
122
- proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
123
-
124
- if !@branch . nil? && !@branch . empty?
125
- ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
126
- else
127
- ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
128
- end
129
-
130
-
131
-
132
-
133
- end
105
+ begin
106
+ if @proxy_details . empty?
107
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , params ) . read )
108
+ elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . present? && @proxy_details [ :password ] . present?
109
+ proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
110
+ proxy_username = @proxy_details [ :username ]
111
+ proxy_password = @proxy_details [ :password ]
112
+
113
+ if !@branch . nil? && !@branch . empty?
114
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
115
+ else
116
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
117
+ end
118
+ elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . empty? && @proxy_details [ :password ] . empty?
119
+ proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
120
+
121
+ if !@branch . nil? && !@branch . empty?
122
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
123
+ else
124
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ @host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "access_token" => @access_token , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
125
+ end
126
+ end
127
+ rescue OpenURI ::HTTPError => error
128
+ response = error . io
129
+ #response.status
130
+ # => ["503", "Service Unavailable"]
131
+ error_response = JSON . parse ( response . string )
132
+ error_status = { "status_code" => response . status [ 0 ] , "status_message" => response . status [ 1 ] }
133
+ error = error_response . merge ( error_status )
134
+ raise Contentstack ::Error . new ( error . to_s )
135
+ end
134
136
end
135
137
136
138
def self . send_preview_request ( path , q = nil )
@@ -150,38 +152,37 @@ def self.send_preview_request(path, q=nil)
150
152
if !@branch . nil? && !@branch . empty?
151
153
params [ "branch" ] = @branch
152
154
end
153
-
154
- if @proxy_details . empty?
155
-
156
- ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , params ) . read )
157
-
158
- elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . present? && @proxy_details [ :password ] . present?
155
+ begin
156
+ if @proxy_details . empty?
157
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , params ) . read )
158
+ elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . present? && @proxy_details [ :password ] . present?
159
+ proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
160
+ proxy_username = @proxy_details [ :username ]
161
+ proxy_password = @proxy_details [ :password ]
162
+
163
+ if !@branch . nil? && !@branch . empty?
164
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
165
+ else
166
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
167
+ end
168
+ elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . empty? && @proxy_details [ :password ] . empty?
169
+ proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
159
170
160
- proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
161
- proxy_username = @proxy_details [ :username ]
162
- proxy_password = @proxy_details [ :password ]
163
-
164
- if !@branch . nil? && !@branch . empty?
165
- ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
166
- else
167
- ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , :proxy_http_basic_authentication => [ proxy_uri , proxy_username , proxy_password ] , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
168
- end
169
-
170
-
171
-
172
-
173
- elsif @proxy_details . present? && @proxy_details [ :url ] . present? && @proxy_details [ :port ] . present? && @proxy_details [ :username ] . empty? && @proxy_details [ :password ] . empty?
174
- proxy_uri = URI . parse ( "http://#{ @proxy_details [ :url ] } :#{ @proxy_details [ :port ] } /" )
175
-
176
- if !@branch . nil? && !@branch . empty?
177
- ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
178
- else
179
- ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
180
- end
181
-
182
-
183
-
171
+ if !@branch . nil? && !@branch . empty?
172
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout , "branch" => @branch ) . read )
173
+ else
174
+ ActiveSupport ::JSON . decode ( URI . open ( "#{ preview_host } #{ @api_version } #{ path } #{ query } " , "proxy" => proxy_uri , "api_key" => @api_key , "authorization" => @live_preview [ :management_token ] , "user_agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "x-user-agent" => "ruby-sdk/#{ Contentstack ::VERSION } " , "read_timeout" => @timeout ) . read )
175
+ end
184
176
end
177
+ rescue OpenURI ::HTTPError => error
178
+ response = error . io
179
+ #response.status
180
+ # => ["503", "Service Unavailable"]
181
+ error_response = JSON . parse ( response . string )
182
+ error_status = { "status_code" => response . status [ 0 ] , "status_message" => response . status [ 1 ] }
183
+ error = error_response . merge ( error_status )
184
+ raise Contentstack ::Error . new ( error . to_s )
185
+ end
185
186
end
186
187
end
187
188
end
0 commit comments