Sha256: 62d72ebd7ca1972e2db37aaa36178e7aa9e99966690ef15caa55ca84e55d04ed

Contents?: true

Size: 908 Bytes

Versions: 3

Compression:

Stored size: 908 Bytes

Contents

class ErrorReporter < Controler
	self.define do
		on error(
			Rack::UnhandledRequest::UnhandledRequestError,
			Configuration::S3NoSuchKeyError,
			Configuration::NoSuchFileError
		)	do |error|
			write_error 404, error
		end

		on error MemoryLimit::MemoryLimitedExceededError do |error|
			write_error 413, error
		end

		on error Configuration::Thumbnail::ThumbnailingError do |error|
			status = defined?(error.remote_error.status) ? error.remote_error.status : 500
			write_error status, error
		end

		on error Configuration::ZeroBodyLengthError do |error|
			write_error 400, error
		end

		on error StandardError do |error|
			log.error "unhandled error while processing request: #{env['REQUEST_METHOD']} #{env['SCRIPT_NAME']}[#{env["PATH_INFO"]}]", error
			log.debug {
				out = StringIO.new
				PP::pp(env, out, 200)
				"Request: \n" + out.string
			}

			write_error 500, error
		end
	end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
httpimagestore-1.2.0 lib/httpimagestore/error_reporter.rb
httpimagestore-1.1.0 lib/httpimagestore/error_reporter.rb
httpimagestore-1.0.0 lib/httpimagestore/error_reporter.rb