class Wiris::Http

Attributes

url[RW]

The server myURL.

Public Class Methods

new(url) click to toggle source
# File lib/src-generic/Http.rb, line 26
def initialize(url)
  @url = url
  @headers = Hash.new()
  @params = Hash.new()
end
proxy() click to toggle source
# File lib/src-generic/Http.rb, line 22
def self.proxy
  @@proxy
end
proxy=(proxy) click to toggle source
# File lib/src-generic/Http.rb, line 18
def self.proxy=(proxy)
  @@proxy = proxy
end

Public Instance Methods

formEncode(params) click to toggle source
# File lib/src-generic/Http.rb, line 69
 def formEncode(params)
  i = params.keys()
  sb = StringBuf.new()
  first = true
  while (i.hasNext())
     if(!first)
       sb.add("&")
     else
       first = false
     end
    key = i.next()
    sb.add(StringTools.urlEncode(key))
    sb.add("=")
    sb.add(StringTools.urlEncode(params.get(key)))
  end
  return sb.toString()
end
onData(data) click to toggle source
# File lib/src-generic/Http.rb, line 104
def onData(data)
end
onError(msg) click to toggle source
# File lib/src-generic/Http.rb, line 107
def onError(msg)
end
request(post) click to toggle source
# File lib/src-generic/Http.rb, line 32
def request(post)
  serializedParams = formEncode(@params)
  uri = URI.parse(@url)
  if !@@proxy.nil? && !@@proxy.host.nil? && @@proxy.host != ""
    host = @@proxy.host
    port = @@proxy.port
    auth = @@proxy.auth
    unless auth.nil?
      user = auth.user
      pass = auth.pass
    end
    @connection = Net::HTTP.new(uri.host, uri.port, host, port)
  else
    @connection = Net::HTTP.new(uri.host, uri.port)
  end

  if !post
    if (serializedParams != "")
        uri.query = serializedParams
    end
    request = Net::HTTP::Get.new(uri.request_uri)
  else
    request = Net::HTTP::Post.new(uri.request_uri)
    request.body = @postData != nil ? @postData : serializedParams
  end

  keys = @headers.keys()

  while keys.hasNext()
    key = keys.next()
    request.add_field(key, @headers.get(key))
  end

  response = @connection.request(request)
  onData(response.body)
end
setHeader(header, value) click to toggle source
# File lib/src-generic/Http.rb, line 88
def setHeader(header, value)
  @headers.set(header,value)
end
setParameter(param, value) click to toggle source

Sets a parameter to be sent in the request. Multiple parameters can be set by making multiple setParameter calls.

# File lib/src-generic/Http.rb, line 96
def setParameter(param, value)
  @params.set(param,value)
end
setPostData(data) click to toggle source
# File lib/src-generic/Http.rb, line 100
def setPostData(data)
   @postData = data
end