class Correios::SRO::WebService

Constants

URL

Public Class Methods

new(tracker) click to toggle source
# File lib/correios/sro/web_service.rb, line 9
def initialize(tracker)
  @uri = URI.parse(URL)
  @tracker = tracker
end

Public Instance Methods

request!() click to toggle source
# File lib/correios/sro/web_service.rb, line 14
def request!
  http = build_http

  request = build_request
  Correios::SRO.log_request request, @uri.to_s

  response = http.request(request)

  Correios::SRO.log_response response

  response.body.force_encoding('utf-8')
end

Private Instance Methods

build_http() click to toggle source
# File lib/correios/sro/web_service.rb, line 29
def build_http
  http = Net::HTTP.new(@uri.host, @uri.port)
  http.open_timeout = Correios::SRO.request_timeout
  http
end
build_request() click to toggle source
# File lib/correios/sro/web_service.rb, line 35
def build_request
  request = Net::HTTP::Post.new(@uri.path)
  request.content_type = 'text/xml;charset=UTF-8'
  request.add_field("Accept-Encoding", "UTF-8")
  request.body = request_body
  request
end
request_body() click to toggle source
# File lib/correios/sro/web_service.rb, line 43
def request_body
  RequestBuilder.new(@tracker).build_xml
end