class Prolenea::ProleneaResponseMiddleware
Constants
- PORTED_DATE_FORMAT
- PORTED_DATE_TIMEZONE
- RESPONSE_ROW_NAMES
Public Instance Methods
on_complete(env)
click to toggle source
# File lib/prolenea/middleware/prolenea_response_middleware.rb, line 22 def on_complete(env) case env[:status] when 200 env[:parsed_body] = self.parse_body env[:body] else raise ProleneaRequestError.new({}), "Recieved an unexpected HTTP response code #{env[:status]}" end env end
parse_body(body)
click to toggle source
# File lib/prolenea/middleware/prolenea_response_middleware.rb, line 33 def parse_body(body) number_info = {} rows = body.split("\r\n") if rows.length != RESPONSE_ROW_NAMES.length raise ProleneaRequestError.new({}), "Unable to parse HTTP response body" end rows.each_with_index do |row, i| number_info[RESPONSE_ROW_NAMES[i]] = (row == '-' ? nil : row) end self.parse_number_info number_info end
parse_number_info(number_info)
click to toggle source
# File lib/prolenea/middleware/prolenea_response_middleware.rb, line 48 def parse_number_info(number_info) if number_info['ported_date'] parsed_ported_date = self.parse_ported_date number_info['ported_date'] number_info['ported_date'] = parsed_ported_date.iso8601 end number_info end
parse_ported_date(s)
click to toggle source
# File lib/prolenea/middleware/prolenea_response_middleware.rb, line 58 def parse_ported_date(s) if !s.nil? && !s.empty? DateTime.parse "#{s} #{PORTED_DATE_TIMEZONE}", "#{PORTED_DATE_FORMAT} %z" end end