diff --git a/spec/helpers_spec.cr b/spec/helpers_spec.cr index 3e73e6d..77bad08 100644 --- a/spec/helpers_spec.cr +++ b/spec/helpers_spec.cr @@ -67,4 +67,21 @@ describe "Macros" do client_response.body.should eq("") end end + + describe "#headers" do + it "can add headers" do + get "/headers" do |env| + env.response.headers.add "Content-Type", "image/png" + headers env, { + "Access-Control-Allow-Origin" => "*", + "Content-Type" => "text/plain" + } + end + + request = HTTP::Request.new("GET", "/headers") + response = call_request_on_app(request) + response.headers["Access-Control-Allow-Origin"].should eq("*") + response.headers["Content-Type"].should eq("text/plain") + end + end end diff --git a/src/kemal/helpers.cr b/src/kemal/helpers.cr index 6e3f7d1..bf6f4c6 100644 --- a/src/kemal/helpers.cr +++ b/src/kemal/helpers.cr @@ -57,3 +57,7 @@ end def serve_static(status) Kemal.config.serve_static = status end + +def headers(env, additional_headers) + env.response.headers.merge!(additional_headers) +end