Skip to content

Commit

Permalink
Use context instead of response in static_headers helper (#681)
Browse files Browse the repository at this point in the history
  • Loading branch information
sdogruyol committed May 10, 2024
1 parent e69bd40 commit 6a29240
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions spec/static_file_handler_spec.cr
Expand Up @@ -141,11 +141,11 @@ describe Kemal::StaticFileHandler do
end

it "should handle setting custom headers" do
headers = Proc(HTTP::Server::Response, String, File::Info, Void).new do |response, path, stat|
headers = Proc(HTTP::Server::Context, String, File::Info, Void).new do |env, path, stat|
if path =~ /\.html$/
response.headers.add("Access-Control-Allow-Origin", "*")
env.response.headers.add("Access-Control-Allow-Origin", "*")
end
response.headers.add("Content-Size", stat.size.to_s)
env.response.headers.add("Content-Size", stat.size.to_s)
end

static_headers(&headers)
Expand Down
2 changes: 1 addition & 1 deletion src/kemal/config.cr
Expand Up @@ -23,7 +23,7 @@ module Kemal
property app_name, host_binding, ssl, port, env, public_folder, logging, running
property always_rescue, server : HTTP::Server?, extra_options, shutdown_message
property serve_static : (Bool | Hash(String, Bool))
property static_headers : (HTTP::Server::Response, String, File::Info -> Void)?
property static_headers : (HTTP::Server::Context, String, File::Info -> Void)?
property? powered_by_header : Bool = true

def initialize
Expand Down
10 changes: 5 additions & 5 deletions src/kemal/helpers/helpers.cr
Expand Up @@ -134,7 +134,7 @@ def send_file(env : HTTP::Server::Context, path : String, mime_type : String? =
filestat = File.info(file_path)
attachment(env, filename, disposition)

Kemal.config.static_headers.try(&.call(env.response, file_path, filestat))
Kemal.config.static_headers.try(&.call(env, file_path, filestat))

File.open(file_path) do |file|
if env.request.method == "GET" && env.request.headers.has_key?("Range")
Expand Down Expand Up @@ -250,13 +250,13 @@ end
# Adds headers to `Kemal::StaticFileHandler`. This is especially useful for `CORS`.
#
# ```
# static_headers do |response, filepath, filestat|
# static_headers do |env, filepath, filestat|
# if filepath =~ /\.html$/
# response.headers.add("Access-Control-Allow-Origin", "*")
# env.response.headers.add("Access-Control-Allow-Origin", "*")
# end
# response.headers.add("Content-Size", filestat.size.to_s)
# env.response.headers.add("Content-Size", filestat.size.to_s)
# end
# ```
def static_headers(&headers : HTTP::Server::Response, String, File::Info -> Void)
def static_headers(&headers : HTTP::Server::Context, String, File::Info -> Void)
Kemal.config.static_headers = headers
end

0 comments on commit 6a29240

Please sign in to comment.