Make default content-type text/html

This commit is contained in:
Sdogruyol 2016-01-24 17:44:37 +02:00
parent fdf38b23c8
commit 02af920a0f
3 changed files with 19 additions and 3 deletions

View File

@ -1,6 +1,17 @@
require "./spec_helper"
describe "Context" do
it "sets content type" do
kemal = Kemal::Handler.new
kemal.add_route "GET", "/" do |env|
"Hello"
end
request = HTTP::Request.new("GET", "/")
io_with_context = create_request_and_return_io(kemal, request)
client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
client_response.headers["Content-Type"].should eq("text/html")
end
it "sets content type" do
kemal = Kemal::Handler.new
kemal.add_route "GET", "/" do |env|

View File

@ -12,6 +12,7 @@ class Kemal::Handler < HTTP::Handler
end
def call(context)
context.response.content_type = "text/html"
response = process_request(context)
response || call_next(context)
end
@ -31,6 +32,7 @@ class Kemal::Handler < HTTP::Handler
route = lookup.payload as Route
if route.match?(context.request)
begin
context.response.content_type = "text/html"
body = route.handler.call(context).to_s
context.response.print body
return context

View File

@ -18,7 +18,8 @@ def render_403(context)
</html>
HTML
context.response.status_code = 403
context.response.puts template
context.response.print template
context
end
# Template for 404 Not Found
@ -40,7 +41,8 @@ def render_404(context)
</html>
HTML
context.response.status_code = 404
context.response.puts template
context.response.print template
context
end
# Template for 500 Internal Server Error
@ -62,5 +64,6 @@ def render_500(context, ex)
</html>
HTML
context.response.status_code = 500
context.response.puts template
context.response.print template
context
end