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