Sha256: 876555d1a4823da063dbc3164dff685cce12f2a2e20479b78b0efa481abebd45

Contents?: true

Size: 511 Bytes

Versions: 3

Compression:

Stored size: 511 Bytes

Contents

#!/usr/bin/env falcon --verbose serve -c

require 'async'

class RequestLogger
	def initialize(app)
		@app = app
	end
	
	def call(env)
		logger = Async.logger.with(level: :debug, name: "middleware")
		
		Async(logger: logger) do
			@app.call(env)
		end.wait
	end
end

use RequestLogger

run lambda {|env|
	start_time = Async::Clock.now
	
	server_timing = ->{
		"app;dur=#{Async::Clock.now - start_time}"
	}
	
	[
		200,
		[["trailers", "server-timing"], ["server-timing", server_timing]],
		["Hello World"]
	]
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
falcon-0.35.2 examples/trailers/config.ru
falcon-0.35.1 examples/trailers/config.ru
falcon-0.35.0 examples/trailers/config.ru