Sha256: 8d348bff30c3487ef1852e023baa8969ba681768b7635324fe89c58c9a838705

Contents?: true

Size: 993 Bytes

Versions: 5

Compression:

Stored size: 993 Bytes

Contents

module Requester
  def get url = '/', hash = {}
    request(:get, url, hash)
  end

  def post url = '/', hash = {}
    request(:post, url, hash)
  end

  def request method, url, hash = {}
    http = SimpleHttp.new(url2uri(url))
    if method == :get and not hash.empty?
      http.uri.query = hash.inject([]){|s,(k,v)| s << "#{k}=#{v}"}.join('&')
      hash = {}
    end

    puts "#{method.to_s.upcase} => #{http.uri}"
    http.send(method, hash).strip
  end

  def epost url = '/', hash = {}
    erequest(:post, url, hash)
  end

  def eget url = '/', hash = {}
    erequest(:get, url, hash)
  end

  def erequest method, url, hash = {}
    response = request(method, url, hash)
    eval(response)
  rescue Object => ex
    p :response => response
    ex.message
  end

  def url2uri url
    uri = URI.parse(url)
    #p uri.methods.sort.grep(/=/)
    uri.scheme = 'http'
    uri.host = 'localhost'
    uri.port = Ramaze::Global.port
    uri.path = "/#{url}".squeeze('/')
    uri
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ramaze-0.1.1 spec/helper/requester.rb
ramaze-0.1.4 lib/ramaze/spec/helper/requester.rb
ramaze-0.1.0 spec/helper/requester.rb
ramaze-0.1.2 spec/helper/requester.rb
ramaze-0.1.3 spec/helper/requester.rb