Module ServerSide::HTTP
In: lib/serverside/http.rb
lib/serverside/http/caching.rb
lib/serverside/http/const.rb
lib/serverside/http/error.rb
lib/serverside/http/parsing.rb
lib/serverside/http/request.rb
lib/serverside/http/response.rb
lib/serverside/http/server.rb
lib/serverside/http/static.rb

Classes and Modules

Module ServerSide::HTTP::Caching
Module ServerSide::HTTP::Parsing
Module ServerSide::HTTP::Server
Module ServerSide::HTTP::Static
Class ServerSide::HTTP::BadRequestError
Class ServerSide::HTTP::ForbiddenError
Class ServerSide::HTTP::NotFoundError
Class ServerSide::HTTP::Request
Class ServerSide::HTTP::Response

Constants

VERSION_1_0 = '1.0'.freeze   HTTP versions
VERSION_1_1 = '1.1'.freeze
MAX_REQUEST_LINE_SIZE = 1024   maximum sizes compare to mongrel.rubyforge.org/security.html
MAX_HEADER_SIZE = 112 * 1024
MAX_HEADER_NAME_SIZE = 256
MAX_HEADER_COUNT = 256
MAX_PARAMETER_VALUE_SIZE = 10240
MAX_PARAMETER_NAME_SIZE = 64
CONTENT_LENGTH = 'Content-Length'.freeze   request body and response body
CONTENT_TYPE = 'Content-Type'.freeze
MULTIPART_FORM_DATA_RE = /^multipart\/form-data; boundary=(.+)$/.freeze
CONTENT_DISPOSITION = 'Content-Disposition'.freeze
DISPOSITION_FORM_DATA_RE = /^form-data; name="([^"]+)"(; filename="([^"]+)")?$/.freeze
FORM_URL_ENCODED = 'application/x-www-form-urlencoded'.freeze
CONNECTION = 'Connection'.freeze   connection
KEEP_ALIVE = 'keep-alive'.freeze
CLOSE = 'close'.freeze
CONNECTION_CLOSE = "Connection: close\r\n".freeze
HOST = 'Host'.freeze   headers
X_FORWARDED_FOR = 'X-Forwarded-For'.freeze
DATE = 'Date'.freeze
LOCATION = 'Location'.freeze
ACCEPT = 'Accept'.freeze
USER_AGENT = 'User-Agent'.freeze
IF_NONE_MATCH = 'If-None-Match'.freeze   caching
IF_MODIFIED_SINCE = 'If-Modified-Since'.freeze
ETAG = 'ETag'.freeze
LAST_MODIFIED = 'Last-Modified'.freeze
CACHE_CONTROL = 'Cache-Control'.freeze
NO_CACHE = 'no-cache'.freeze
EXPIRES = 'Expires'.freeze
STATUS_OK = '200 OK'.freeze   response status
STATUS_CREATED = '201 Created'.freeze
STATUS_ACCEPTED = '202 Accepted'.freeze
STATUS_NO_CONTENT = '204 No Content'.freeze
STATUS_MOVED_PERMANENTLY = '301 Moved Permanently'.freeze
STATUS_FOUND = '302 Found'.freeze
STATUS_NOT_MODIFIED = '304 Not Modified'.freeze
STATUS_BAD_REQUEST = '400 Bad Request'.freeze
STATUS_UNAUTHORIZED = '401 Unauthorized'.freeze
STATUS_FORBIDDEN = '403 Forbidden'.freeze
STATUS_NOT_FOUND = '404 Not Found'.freeze
STATUS_METHOD_NOT_ALLOWED = '405 Method Not Allowed'.freeze
STATUS_NOT_ACCEPTABLE = '406 Not Acceptable'.freeze
STATUS_CONFLICT = '409 Conflict'.freeze
STATUS_REQUEST_ENTITY_TOO_LARGE = '413 Request Entity Too Large'.freeze
STATUS_REQUEST_URI_TOO_LONG = '414 Request-URI Too Long'.freeze
STATUS_UNSUPPORTED_MEDIA_TYPE = '415 Unsupported Media Type'.freeze
STATUS_INTERNAL_SERVER_ERROR = '500 Internal Server Error'.freeze
STATUS_NOT_IMPLEMENTED = '501 Not Implemented'.freeze
STATUS_SERVICE_UNAVAILABLE = '503 Service Unavailable'.freeze
COOKIE = 'Cookie'.freeze   cookies
SET_COOKIE = 'Set-Cookie'.freeze
COOKIE_EXPIRED_TIME = Time.at(0).freeze

[Validate]