Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
ccac1cf651
10 changed files with 29 additions and 54 deletions
31
.ameba.yml
31
.ameba.yml
|
@ -1,5 +1,5 @@
|
|||
# This configuration file was generated by `ameba --gen-config`
|
||||
# on 2019-06-14 15:05:57 UTC using Ameba version 0.10.0.
|
||||
# on 2019-08-25 09:29:24 UTC using Ameba version 0.10.0.
|
||||
# The point is for the user to remove these configuration records
|
||||
# one by one as the reported problems are removed from the code base.
|
||||
|
||||
|
@ -11,32 +11,3 @@ Lint/UselessAssign:
|
|||
Severity: Warning
|
||||
Excluded:
|
||||
- spec/view_spec.cr
|
||||
|
||||
# Problems found: 1
|
||||
# Run `ameba --only Lint/ShadowingOuterLocalVar` for details
|
||||
Lint/ShadowingOuterLocalVar:
|
||||
Description: Disallows the usage of the same name as outer local variables for block
|
||||
or proc arguments.
|
||||
Enabled: true
|
||||
Severity: Warning
|
||||
Excluded:
|
||||
- spec/run_spec.cr
|
||||
|
||||
# Problems found: 1
|
||||
# Run `ameba --only Style/NegatedConditionsInUnless` for details
|
||||
Style/NegatedConditionsInUnless:
|
||||
Description: Disallows negated conditions in unless
|
||||
Enabled: true
|
||||
Severity: Convention
|
||||
Excluded:
|
||||
- src/kemal/ext/response.cr
|
||||
|
||||
# Problems found: 1
|
||||
# Run `ameba --only Metrics/CyclomaticComplexity` for details
|
||||
Metrics/CyclomaticComplexity:
|
||||
Description: Disallows methods with a cyclomatic complexity higher than `MaxComplexity`
|
||||
MaxComplexity: 10
|
||||
Enabled: true
|
||||
Severity: Convention
|
||||
Excluded:
|
||||
- src/kemal/static_file_handler.cr
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
# 0.26.1 (01-12-2019)
|
||||
|
||||
- Fix process request when a response already closed [#550](https://github.com/kemalcr/kemal/pull/550). Thanks @mamantoha :pray:
|
||||
- Switch to new Ameba repository [#549](https://github.com/kemalcr/kemal/pull/549). Thanks @mamantoha :pray:
|
||||
- Check for `KEMAL_ENV` variable already in `Config#initialize`[#552](https://github.com/kemalcr/kemal/pull/552). Thanks @Sija :pray:
|
||||
- Cleanup Ameba warnings [#551](https://github.com/kemalcr/kemal/pull/551). Thanks @Sija :pray:
|
||||
- Flush io buffer after each write to log [#554](https://github.com/kemalcr/kemal/pull/554). Thanks @mang :pray:
|
||||
|
||||
# 0.26.0 (05-08-2019)
|
||||
|
||||
- Crystal 0.30.0 support :tada: [#548](https://github.com/kemalcr/kemal/pull/548) and [#544](https://github.com/kemalcr/kemal/pull/544). Thanks @bcardiff and @straight-shoota :pray:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: kemal
|
||||
version: 0.26.0
|
||||
version: 0.26.1
|
||||
|
||||
authors:
|
||||
- Serdar Dogruyol <dogruyolserdar@gmail.com>
|
||||
|
|
|
@ -70,7 +70,7 @@ describe "Macros" do
|
|||
halt env, status_code: 400, response: "Missing origin."
|
||||
end
|
||||
|
||||
get "/" do |env|
|
||||
get "/" do |_env|
|
||||
"Hello world"
|
||||
end
|
||||
|
||||
|
|
|
@ -6,12 +6,10 @@ private def run(code)
|
|||
#{code}
|
||||
CR
|
||||
String.build do |stdout|
|
||||
stderr = String.build do |stderr|
|
||||
Process.new("crystal", ["eval"], input: IO::Memory.new(code), output: stdout, error: stderr).wait
|
||||
end
|
||||
unless stderr.empty?
|
||||
fail(stderr)
|
||||
stderr = String.build do |io|
|
||||
Process.new("crystal", ["eval"], input: IO::Memory.new(code), output: stdout, error: io).wait
|
||||
end
|
||||
fail(stderr) unless stderr.empty?
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ module Kemal
|
|||
@key_file = ""
|
||||
@cert_file = ""
|
||||
@config = Kemal.config
|
||||
read_env
|
||||
if args
|
||||
parse args
|
||||
end
|
||||
|
@ -42,21 +41,15 @@ module Kemal
|
|||
|
||||
private def configure_ssl
|
||||
{% if !flag?(:without_openssl) %}
|
||||
if @ssl_enabled
|
||||
abort "SSL Key Not Found" if !@key_file
|
||||
abort "SSL Certificate Not Found" if !@cert_file
|
||||
ssl = Kemal::SSL.new
|
||||
ssl.key_file = @key_file.not_nil!
|
||||
ssl.cert_file = @cert_file.not_nil!
|
||||
Kemal.config.ssl = ssl.context
|
||||
end
|
||||
{% end %}
|
||||
end
|
||||
|
||||
private def read_env
|
||||
if kemal_env = ENV["KEMAL_ENV"]?
|
||||
@config.env = kemal_env
|
||||
end
|
||||
if @ssl_enabled
|
||||
abort "SSL Key Not Found" if !@key_file
|
||||
abort "SSL Certificate Not Found" if !@cert_file
|
||||
ssl = Kemal::SSL.new
|
||||
ssl.key_file = @key_file.not_nil!
|
||||
ssl.cert_file = @cert_file.not_nil!
|
||||
Kemal.config.ssl = ssl.context
|
||||
end
|
||||
{% end %}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -29,7 +29,7 @@ module Kemal
|
|||
def initialize
|
||||
@host_binding = "0.0.0.0"
|
||||
@port = 3000
|
||||
@env = "development"
|
||||
@env = ENV["KEMAL_ENV"]? || "development"
|
||||
@serve_static = {"dir_listing" => false, "gzip" => true}
|
||||
@public_folder = "./public"
|
||||
@logging = true
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
class HTTP::Server::Response
|
||||
class Output
|
||||
def close
|
||||
# ameba:disable Style/NegatedConditionsInUnless
|
||||
unless response.wrote_headers? && !response.headers.has_key?("Content-Range")
|
||||
response.content_length = @out_count
|
||||
end
|
||||
|
|
|
@ -8,11 +8,14 @@ module Kemal
|
|||
elapsed_time = Time.measure { call_next(context) }
|
||||
elapsed_text = elapsed_text(elapsed_time)
|
||||
@io << Time.utc << ' ' << context.response.status_code << ' ' << context.request.method << ' ' << context.request.resource << ' ' << elapsed_text << '\n'
|
||||
@io.flush
|
||||
context
|
||||
end
|
||||
|
||||
def write(message : String)
|
||||
@io << message
|
||||
@io.flush
|
||||
@io
|
||||
end
|
||||
|
||||
private def elapsed_text(elapsed)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
module Kemal
|
||||
class StaticFileHandler < HTTP::StaticFileHandler
|
||||
# ameba:disable Metrics/CyclomaticComplexity
|
||||
def call(context : HTTP::Server::Context)
|
||||
return call_next(context) if context.request.path.not_nil! == "/"
|
||||
|
||||
|
|
Loading…
Reference in a new issue