From de5e022222f62f14eab7569b48f109ac6ed62209 Mon Sep 17 00:00:00 2001 From: Aravinda Vishwanathapura Date: Mon, 5 Apr 2021 20:35:06 +0530 Subject: [PATCH 1/5] New option to set application name (#606) --- spec/config_spec.cr | 7 +++++++ src/kemal.cr | 6 +++--- src/kemal/config.cr | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/spec/config_spec.cr b/spec/config_spec.cr index 31a8438..daa6849 100644 --- a/spec/config_spec.cr +++ b/spec/config_spec.cr @@ -58,4 +58,11 @@ describe "Config" do it "gets the version from shards.yml" do Kemal::VERSION.should_not be("") end + + it "sets application name" do + config = Kemal.config + config.app_name.should eq "Kemal" + config.app_name = "testapp" + config.app_name.should eq "testapp" + end end diff --git a/src/kemal.cr b/src/kemal.cr index 5504b5c..6f1a564 100644 --- a/src/kemal.cr +++ b/src/kemal.cr @@ -67,11 +67,11 @@ module Kemal def self.display_startup_message(config, server) addresses = server.addresses.join ", " { |address| "#{config.scheme}://#{address}" } - log "[#{config.env}] Kemal is ready to lead at #{addresses}" + log "[#{config.env}] #{config.app_name} is ready to lead at #{addresses}" end def self.stop - raise "Kemal is already stopped." if !config.running + raise "#{Kemal.config.app_name} is already stopped." if !config.running if server = config.server server.close unless server.closed? config.running = false @@ -90,7 +90,7 @@ module Kemal private def self.setup_trap_signal Signal::INT.trap do - log "Kemal is going to take a rest!" if Kemal.config.shutdown_message + log "#{Kemal.config.app_name} is going to take a rest!" if Kemal.config.shutdown_message Kemal.stop exit end diff --git a/src/kemal/config.cr b/src/kemal/config.cr index 2efcd66..4e62d8d 100644 --- a/src/kemal/config.cr +++ b/src/kemal/config.cr @@ -24,9 +24,10 @@ module Kemal 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 powered_by_header : Bool = true + property powered_by_header : Bool = true, app_name def initialize + @app_name = "Kemal" @host_binding = "0.0.0.0" @port = 3000 @env = ENV["KEMAL_ENV"]? || "development" From 6e72ebb447caa29e9868af546d1d0b2343a68553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Serdar=20Dogruyol=20-=20Sedo=20=E3=82=BB=E3=83=89?= <990485+sdogruyol@users.noreply.github.com> Date: Mon, 5 Apr 2021 18:24:09 +0300 Subject: [PATCH 2/5] Add array of paths support for before/after filters (#605) --- src/kemal/dsl.cr | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/kemal/dsl.cr b/src/kemal/dsl.cr index 15b3742..50fa51b 100644 --- a/src/kemal/dsl.cr +++ b/src/kemal/dsl.cr @@ -33,5 +33,11 @@ end def {{type.id}}_{{method.id}}(path : String = "*", &block : HTTP::Server::Context -> _) Kemal::FilterHandler::INSTANCE.{{type.id}}({{method}}.upcase, path, &block) end + + def {{type.id}}_{{method.id}}(paths : Array(String), &block : HTTP::Server::Context -> _) + paths.each do |path| + Kemal::FilterHandler::INSTANCE.{{type.id}}({{method}}.upcase, path, &block) + end + end {% end %} {% end %} From d237d3ef7defe99b712cd828b198f37e8ab83bee Mon Sep 17 00:00:00 2001 From: Sijawusz Pur Rahnama Date: Fri, 9 Apr 2021 20:09:15 +0200 Subject: [PATCH 3/5] Bump exception_page shard to ~> 0.2.0 (#608) --- shard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shard.yml b/shard.yml index 50dea58..6fe0ef2 100644 --- a/shard.yml +++ b/shard.yml @@ -13,7 +13,7 @@ dependencies: version: ~> 0.4.0 exception_page: github: crystal-loot/exception_page - version: ~> 0.1.1 + version: ~> 0.2.0 development_dependencies: ameba: From 926206a46c85bb1ade98a33cc063d7cc423154ba Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Sun, 11 Apr 2021 11:17:50 +0200 Subject: [PATCH 4/5] Allow running specs from any directory (#609) --- spec/helpers_spec.cr | 6 +++--- spec/view_spec.cr | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spec/helpers_spec.cr b/spec/helpers_spec.cr index 4d45a66..d22687b 100644 --- a/spec/helpers_spec.cr +++ b/spec/helpers_spec.cr @@ -100,7 +100,7 @@ describe "Macros" do describe "#send_file" do it "sends file with given path and default mime-type" do get "/" do |env| - send_file env, "./spec/asset/hello.ecr" + send_file env, "#{__DIR__}/asset/hello.ecr" end request = HTTP::Request.new("GET", "/") @@ -112,7 +112,7 @@ describe "Macros" do it "sends file with given path and given mime-type" do get "/" do |env| - send_file env, "./spec/asset/hello.ecr", "image/jpeg" + send_file env, "#{__DIR__}/asset/hello.ecr", "image/jpeg" end request = HTTP::Request.new("GET", "/") @@ -136,7 +136,7 @@ describe "Macros" do it "sends file with given path and given filename" do get "/" do |env| - send_file env, "./spec/asset/hello.ecr", filename: "image.jpg" + send_file env, "#{__DIR__}/asset/hello.ecr", filename: "image.jpg" end request = HTTP::Request.new("GET", "/") diff --git a/spec/view_spec.cr b/spec/view_spec.cr index d09f4de..4705233 100644 --- a/spec/view_spec.cr +++ b/spec/view_spec.cr @@ -1,14 +1,14 @@ require "./spec_helper" macro render_with_base_and_layout(filename) - render "spec/asset/#{{{filename}}}", "spec/asset/layout.ecr" + render "#{__DIR__}/asset/#{{{filename}}}", "#{__DIR__}/asset/layout.ecr" end describe "Views" do it "renders file" do get "/view/:name" do |env| name = env.params.url["name"] - render "spec/asset/hello.ecr" + render "#{__DIR__}/asset/hello.ecr" end request = HTTP::Request.new("GET", "/view/world") client_response = call_request_on_app(request) @@ -28,7 +28,7 @@ describe "Views" do it "renders layout" do get "/view/:name" do |env| name = env.params.url["name"] - render "spec/asset/hello.ecr", "spec/asset/layout.ecr" + render "#{__DIR__}/asset/hello.ecr", "#{__DIR__}/asset/layout.ecr" end request = HTTP::Request.new("GET", "/view/world") client_response = call_request_on_app(request) @@ -40,7 +40,7 @@ describe "Views" do name = env.params.url["name"] var1 = "serdar" var2 = "kemal" - render "spec/asset/hello_with_content_for.ecr", "spec/asset/layout_with_yield_and_vars.ecr" + render "#{__DIR__}/asset/hello_with_content_for.ecr", "#{__DIR__}/asset/layout_with_yield_and_vars.ecr" end request = HTTP::Request.new("GET", "/view/world") client_response = call_request_on_app(request) @@ -52,7 +52,7 @@ describe "Views" do it "renders layout with content_for" do get "/view/:name" do |env| name = env.params.url["name"] - render "spec/asset/hello_with_content_for.ecr", "spec/asset/layout_with_yield.ecr" + render "#{__DIR__}/asset/hello_with_content_for.ecr", "#{__DIR__}/asset/layout_with_yield.ecr" end request = HTTP::Request.new("GET", "/view/world") client_response = call_request_on_app(request) From 218be2422172d330feb62c6a8abc7df5402fdb84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Serdar=20Dogruyol=20-=20Sedo=20=E3=82=BB=E3=83=89?= <990485+sdogruyol@users.noreply.github.com> Date: Sun, 11 Apr 2021 16:37:10 +0300 Subject: [PATCH 5/5] Update Kilt version dependency to ~> 0.6.0 --- shard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shard.yml b/shard.yml index 6fe0ef2..e37bdde 100644 --- a/shard.yml +++ b/shard.yml @@ -10,7 +10,7 @@ dependencies: version: ~> 0.4.0 kilt: github: jeromegn/kilt - version: ~> 0.4.0 + version: ~> 0.6.0 exception_page: github: crystal-loot/exception_page version: ~> 0.2.0