@@ -40,20 +40,25 @@ class APIError < Scrapegraphai::Errors::Error
4040 # @return [Integer, nil]
4141 attr_accessor :status
4242
43+ # @return [Hash{String=>String}, nil]
44+ attr_accessor :headers
45+
4346 # @return [Object, nil]
4447 attr_accessor :body
4548
4649 # @api private
4750 #
4851 # @param url [URI::Generic]
4952 # @param status [Integer, nil]
53+ # @param headers [Hash{String=>String}, nil]
5054 # @param body [Object, nil]
5155 # @param request [nil]
5256 # @param response [nil]
5357 # @param message [String, nil]
54- def initialize ( url :, status : nil , body : nil , request : nil , response : nil , message : nil )
58+ def initialize ( url :, status : nil , headers : nil , body : nil , request : nil , response : nil , message : nil )
5559 @url = url
5660 @status = status
61+ @headers = headers
5762 @body = body
5863 @request = request
5964 @response = response
@@ -74,13 +79,15 @@ class APIConnectionError < Scrapegraphai::Errors::APIError
7479 #
7580 # @param url [URI::Generic]
7681 # @param status [nil]
82+ # @param headers [Hash{String=>String}, nil]
7783 # @param body [nil]
7884 # @param request [nil]
7985 # @param response [nil]
8086 # @param message [String, nil]
8187 def initialize (
8288 url :,
8389 status : nil ,
90+ headers : nil ,
8491 body : nil ,
8592 request : nil ,
8693 response : nil ,
@@ -95,13 +102,15 @@ class APITimeoutError < Scrapegraphai::Errors::APIConnectionError
95102 #
96103 # @param url [URI::Generic]
97104 # @param status [nil]
105+ # @param headers [Hash{String=>String}, nil]
98106 # @param body [nil]
99107 # @param request [nil]
100108 # @param response [nil]
101109 # @param message [String, nil]
102110 def initialize (
103111 url :,
104112 status : nil ,
113+ headers : nil ,
105114 body : nil ,
106115 request : nil ,
107116 response : nil ,
@@ -116,21 +125,24 @@ class APIStatusError < Scrapegraphai::Errors::APIError
116125 #
117126 # @param url [URI::Generic]
118127 # @param status [Integer]
128+ # @param headers [Hash{String=>String}, nil]
119129 # @param body [Object, nil]
120130 # @param request [nil]
121131 # @param response [nil]
122132 # @param message [String, nil]
123133 #
124134 # @return [self]
125- def self . for ( url :, status :, body :, request :, response :, message : nil )
126- kwargs = {
127- url : url ,
128- status : status ,
129- body : body ,
130- request : request ,
131- response : response ,
132- message : message
133- }
135+ def self . for ( url :, status :, headers :, body :, request :, response :, message : nil )
136+ kwargs =
137+ {
138+ url : url ,
139+ status : status ,
140+ headers : headers ,
141+ body : body ,
142+ request : request ,
143+ response : response ,
144+ message : message
145+ }
134146
135147 case status
136148 in 400
@@ -162,15 +174,17 @@ def self.for(url:, status:, body:, request:, response:, message: nil)
162174 #
163175 # @param url [URI::Generic]
164176 # @param status [Integer]
177+ # @param headers [Hash{String=>String}, nil]
165178 # @param body [Object, nil]
166179 # @param request [nil]
167180 # @param response [nil]
168181 # @param message [String, nil]
169- def initialize ( url :, status :, body :, request :, response :, message : nil )
182+ def initialize ( url :, status :, headers : , body :, request :, response :, message : nil )
170183 message ||= { url : url . to_s , status : status , body : body }
171184 super (
172185 url : url ,
173186 status : status ,
187+ headers : headers ,
174188 body : body ,
175189 request : request ,
176190 response : response ,
0 commit comments