summaryrefslogtreecommitdiff
path: root/trunk/lib/webrick/httpstatus.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/lib/webrick/httpstatus.rb')
-rw-r--r--trunk/lib/webrick/httpstatus.rb126
1 files changed, 0 insertions, 126 deletions
diff --git a/trunk/lib/webrick/httpstatus.rb b/trunk/lib/webrick/httpstatus.rb
deleted file mode 100644
index a4b42f5a90..0000000000
--- a/trunk/lib/webrick/httpstatus.rb
+++ /dev/null
@@ -1,126 +0,0 @@
-#
-# httpstatus.rb -- HTTPStatus Class
-#
-# Author: IPR -- Internet Programming with Ruby -- writers
-# Copyright (c) 2000, 2001 TAKAHASHI Masayoshi, GOTOU Yuuzou
-# Copyright (c) 2002 Internet Programming with Ruby writers. All rights
-# reserved.
-#
-# $IPR: httpstatus.rb,v 1.11 2003/03/24 20:18:55 gotoyuzo Exp $
-
-module WEBrick
-
- module HTTPStatus
-
- class Status < StandardError; end
- class Info < Status; end
- class Success < Status; end
- class Redirect < Status; end
- class Error < Status; end
- class ClientError < Error; end
- class ServerError < Error; end
-
- class EOFError < StandardError; end
-
- StatusMessage = {
- 100 => 'Continue',
- 101 => 'Switching Protocols',
- 200 => 'OK',
- 201 => 'Created',
- 202 => 'Accepted',
- 203 => 'Non-Authoritative Information',
- 204 => 'No Content',
- 205 => 'Reset Content',
- 206 => 'Partial Content',
- 300 => 'Multiple Choices',
- 301 => 'Moved Permanently',
- 302 => 'Found',
- 303 => 'See Other',
- 304 => 'Not Modified',
- 305 => 'Use Proxy',
- 307 => 'Temporary Redirect',
- 400 => 'Bad Request',
- 401 => 'Unauthorized',
- 402 => 'Payment Required',
- 403 => 'Forbidden',
- 404 => 'Not Found',
- 405 => 'Method Not Allowed',
- 406 => 'Not Acceptable',
- 407 => 'Proxy Authentication Required',
- 408 => 'Request Timeout',
- 409 => 'Conflict',
- 410 => 'Gone',
- 411 => 'Length Required',
- 412 => 'Precondition Failed',
- 413 => 'Request Entity Too Large',
- 414 => 'Request-URI Too Large',
- 415 => 'Unsupported Media Type',
- 416 => 'Request Range Not Satisfiable',
- 417 => 'Expectation Failed',
- 500 => 'Internal Server Error',
- 501 => 'Not Implemented',
- 502 => 'Bad Gateway',
- 503 => 'Service Unavailable',
- 504 => 'Gateway Timeout',
- 505 => 'HTTP Version Not Supported'
- }
-
- CodeToError = {}
-
- StatusMessage.each{|code, message|
- var_name = message.gsub(/[ \-]/,'_').upcase
- err_name = message.gsub(/[ \-]/,'')
-
- case code
- when 100...200; parent = Info
- when 200...300; parent = Success
- when 300...400; parent = Redirect
- when 400...500; parent = ClientError
- when 500...600; parent = ServerError
- end
-
- eval %-
- RC_#{var_name} = #{code}
- class #{err_name} < #{parent}
- def self.code() RC_#{var_name} end
- def self.reason_phrase() StatusMessage[code] end
- def code() self::class::code end
- def reason_phrase() self::class::reason_phrase end
- alias to_i code
- end
- -
-
- CodeToError[code] = const_get(err_name)
- }
-
- def reason_phrase(code)
- StatusMessage[code.to_i]
- end
- def info?(code)
- code.to_i >= 100 and code.to_i < 200
- end
- def success?(code)
- code.to_i >= 200 and code.to_i < 300
- end
- def redirect?(code)
- code.to_i >= 300 and code.to_i < 400
- end
- def error?(code)
- code.to_i >= 400 and code.to_i < 600
- end
- def client_error?(code)
- code.to_i >= 400 and code.to_i < 500
- end
- def server_error?(code)
- code.to_i >= 500 and code.to_i < 600
- end
-
- def self.[](code)
- CodeToError[code]
- end
-
- module_function :reason_phrase
- module_function :info?, :success?, :redirect?, :error?
- module_function :client_error?, :server_error?
- end
-end