Sha256: 0ee8b51adeef53fafef933bd3463fdb278b9eacde404cda1b038a764e4d08ade

Contents?: true

Size: 840 Bytes

Versions: 1

Compression:

Stored size: 840 Bytes

Contents

# encoding: utf-8

require 'httpkit'

class HelloServer
  def serve(request, served)
    p request.http_method
    # => :get
    p request.uri
    # => "/"
    p request.headers
    # => {"Host"=>"127.0.0.1:3000", "Content-Length"=>"0"}
    p request.body.to_s
    # => ""

    served.fulfill(response)
  end

  def response
    HTTPkit::Response.new(200, { 'Content-Type' => 'text/plain' }, 'hello')
  end
end

HTTPkit.run do
  HTTPkit::Server.start(address:  '127.0.0.1', port: 3000,
                        handlers: [HelloServer.new])

  client = HTTPkit::Client.start(address: '127.0.0.1', port: 3000)

  response = client.request(:get, '/')

  p response.status
  # => 200
  p response.status_name
  # => "OK"
  p response.headers
  # => {"Content-Type"=>"text/plain", "Content-Length"=>"5"}
  p response.body.to_s
  # => "hello"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
httpkit-0.6.0.pre.5 examples/getting_started.rb