Method: CFoundry::BaseClient#stream_url

Defined in:
lib/cfoundry/baseclient.rb

#stream_url(url, &blk) ⇒ Object



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/cfoundry/baseclient.rb', line 96

def stream_url(url, &blk)
  uri = URI.parse(url)

  Net::HTTP.start(uri.host, uri.port) do |http|
    http.read_timeout = 10

    req = Net::HTTP::Get.new(uri.request_uri)
    req["Authorization"] = token.auth_header if token

    http.request(req) do |response|
      case response
      when Net::HTTPOK
        response.read_body(&blk)
      when Net::HTTPNotFound
        raise CFoundry::NotFound.new(response.body, 404)
      when Net::HTTPForbidden
        raise CFoundry::Denied.new(response.body, 403)
      else
        raise CFoundry::BadResponse.new(response.body, response.code)
      end
    end
  end
end