mirror of
https://github.com/openstreetmap/openstreetmap-website.git
synced 2025-08-16 17:07:06 +00:00
@ -54,7 +54,7 @@ Metrics/AbcSize:
|
|||||||
# Offense count: 41
|
# Offense count: 41
|
||||||
# Configuration parameters: CountComments, ExcludedMethods.
|
# Configuration parameters: CountComments, ExcludedMethods.
|
||||||
Metrics/BlockLength:
|
Metrics/BlockLength:
|
||||||
Max: 258
|
Max: 261
|
||||||
|
|
||||||
# Offense count: 11
|
# Offense count: 11
|
||||||
# Configuration parameters: CountBlocks.
|
# Configuration parameters: CountBlocks.
|
||||||
|
8
app/assets/stylesheets/errors.scss
Normal file
8
app/assets/stylesheets/errors.scss
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.logo {
|
||||||
|
float: left;
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.details {
|
||||||
|
float: left;
|
||||||
|
}
|
15
app/controllers/errors_controller.rb
Normal file
15
app/controllers/errors_controller.rb
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
class ErrorsController < ApplicationController
|
||||||
|
layout "error"
|
||||||
|
|
||||||
|
def forbidden
|
||||||
|
render :status => :forbidden
|
||||||
|
end
|
||||||
|
|
||||||
|
def not_found
|
||||||
|
render :status => :not_found
|
||||||
|
end
|
||||||
|
|
||||||
|
def internal_server_error
|
||||||
|
render :status => :internal_server_error
|
||||||
|
end
|
||||||
|
end
|
3
app/views/errors/forbidden.html.erb
Normal file
3
app/views/errors/forbidden.html.erb
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<h1>Forbidden</h1>
|
||||||
|
<p>The operation you requested on the OpenStreetMap server is only available to administrators (HTTP 403)</p>
|
||||||
|
<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
|
4
app/views/errors/internal_server_error.html.erb
Normal file
4
app/views/errors/internal_server_error.html.erb
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<h1>Application error</h1>
|
||||||
|
<p>The OpenStreetMap server encountered an unexpected condition that prevented it from fulfilling the request (HTTP 500)</p>
|
||||||
|
<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if your problem persists. Make a note of the exact URL / post data of your request.</p>
|
||||||
|
<p>This may be a problem in our Ruby On Rails code. 500 occurs with exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code)</p>
|
3
app/views/errors/not_found.html.erb
Normal file
3
app/views/errors/not_found.html.erb
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<h1>File not found</h1>
|
||||||
|
<p>Couldn't find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)</p>
|
||||||
|
<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
|
14
app/views/layouts/error.html.erb
Normal file
14
app/views/layouts/error.html.erb
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>OpenStreetMap</title>
|
||||||
|
<%= stylesheet_link_tag "errors", :media=> "screen" %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<%= image_tag "osm_logo.png", :class => "logo" %>
|
||||||
|
<div class="details">
|
||||||
|
<%= yield %>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -19,6 +19,7 @@ Rails.application.config.assets.precompile += %w[screen-rtl.css print-rtl.css]
|
|||||||
Rails.application.config.assets.precompile += %w[leaflet-all.css leaflet.ie.css]
|
Rails.application.config.assets.precompile += %w[leaflet-all.css leaflet.ie.css]
|
||||||
Rails.application.config.assets.precompile += %w[id.js id.css]
|
Rails.application.config.assets.precompile += %w[id.js id.css]
|
||||||
Rails.application.config.assets.precompile += %w[embed.js embed.css]
|
Rails.application.config.assets.precompile += %w[embed.js embed.css]
|
||||||
|
Rails.application.config.assets.precompile += %w[errors.css]
|
||||||
Rails.application.config.assets.precompile += %w[html5shiv.js]
|
Rails.application.config.assets.precompile += %w[html5shiv.js]
|
||||||
Rails.application.config.assets.precompile += %w[images/marker-*.png img/*-handle.png]
|
Rails.application.config.assets.precompile += %w[images/marker-*.png img/*-handle.png]
|
||||||
Rails.application.config.assets.precompile += %w[swfobject.js expressInstall.swf]
|
Rails.application.config.assets.precompile += %w[swfobject.js expressInstall.swf]
|
||||||
|
1
config/initializers/errors.rb
Normal file
1
config/initializers/errors.rb
Normal file
@ -0,0 +1 @@
|
|||||||
|
Rails.application.config.exceptions_app = Rails.application.routes
|
@ -313,4 +313,9 @@ OpenStreetMap::Application.routes.draw do
|
|||||||
|
|
||||||
# redactions
|
# redactions
|
||||||
resources :redactions
|
resources :redactions
|
||||||
|
|
||||||
|
# errors
|
||||||
|
match "/403", :to => "errors#forbidden", :via => :all
|
||||||
|
match "/404", :to => "errors#not_found", :via => :all
|
||||||
|
match "/500", :to => "errors#internal_server_error", :via => :all
|
||||||
end
|
end
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<img src="/assets/osm_logo.png" style="float:left; margin:10px">
|
|
||||||
<div style="float:left;">
|
|
||||||
<h1>Forbidden</h1>
|
|
||||||
<p>The operation you requested on the OpenStreetMap server is only available to administrators (HTTP 403)</p>
|
|
||||||
<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,12 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<img src="/assets/osm_logo.png" style="float:left; margin:10px">
|
|
||||||
<div style="float:left;">
|
|
||||||
<h1>File not found</h1>
|
|
||||||
<p>Couldn't find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)</p>
|
|
||||||
<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,13 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<img src="/assets/osm_logo.png" style="float:left; margin:10px">
|
|
||||||
<div style="float:left;">
|
|
||||||
<h1>Application error</h1>
|
|
||||||
<p>The OpenStreetMap server encountered an unexpected condition that prevented it from fulfilling the request (HTTP 500)</p>
|
|
||||||
<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if your problem persists. Make a note of the exact URL / post data of your request.</p>
|
|
||||||
<p>This may be a problem in our Ruby On Rails code. 500 occurs with exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code)</p>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
33
test/controllers/errors_controller_test.rb
Normal file
33
test/controllers/errors_controller_test.rb
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
class ErrorsControllerTest < ActionController::TestCase
|
||||||
|
def test_routes
|
||||||
|
assert_routing(
|
||||||
|
{ :path => "/403", :method => :get },
|
||||||
|
{ :controller => "errors", :action => "forbidden" }
|
||||||
|
)
|
||||||
|
assert_routing(
|
||||||
|
{ :path => "/404", :method => :get },
|
||||||
|
{ :controller => "errors", :action => "not_found" }
|
||||||
|
)
|
||||||
|
assert_routing(
|
||||||
|
{ :path => "/500", :method => :get },
|
||||||
|
{ :controller => "errors", :action => "internal_server_error" }
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_forbidden
|
||||||
|
get :forbidden
|
||||||
|
assert_response :forbidden
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_not_found
|
||||||
|
get :not_found
|
||||||
|
assert_response :not_found
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_internal_server_error
|
||||||
|
get :internal_server_error
|
||||||
|
assert_response :internal_server_error
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue
Block a user