Sha256: ff5e9b3bb076c014166e7bf8590fcb2eddc55e0ed105e0ff876e98258c01edf4
Contents?: true
Size: 913 Bytes
Versions: 1
Compression:
Stored size: 913 Bytes
Contents
# encoding: utf-8 require 'httpkit' class EchoServer def serve(request, served) response = streaming_response served.fulfill(response) serialize(request, response) request.closed { response.close } end private def streaming_response HTTPkit::Response.new(200, { 'Content-Type' => 'text/plain' }, HTTPkit::Body.new) end def serialize(request, response) writer = response.body.method(:write) serializer = HTTPkit::Serializer.new(request, writer) serializer.serialize end end HTTPkit.start do HTTPkit::Server.start(address: ENV.fetch('ADDRESS', '127.0.0.1'), port: ENV.fetch('PORT', 3000).to_i, handlers: [HTTPkit::Server::KeepAliveHandler.new, EchoServer.new]) Signal.trap(:INT) { HTTPkit.stop } Signal.trap(:TERM) { HTTPkit.stop } end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
httpkit-0.6.0.pre.5 | examples/echo_server.rb |