module Angelo

require 'ruby-prof'

RubyProf.start RubyProf.pause

Constants

ACCEPT_REQUEST_HEADER_KEY
AMPERSAND
ATTACHMENT_CONTENT_DISPOSITION
CONTENT_DISPOSITION_HEADER_KEY
CONTENT_LENGTH_HEADER_KEY
CONTENT_TYPE_HEADER_KEY
DASH
DEFAULT_ADDR
DEFAULT_LOG_LEVEL
DEFAULT_PING_TIME
DEFAULT_PORT
DEFAULT_PUBLIC_DIR
DEFAULT_RESPONSE_HEADERS
DEFAULT_RESPONSE_LOG_LEVEL
DEFAULT_VIEWS_DIR
DELETE
EMPTY_STRING
EQUALS
ETAG_HEADER_KEY
FILE_TYPE
FORM_TYPE
GET
HALT_STRUCT
HTML_TYPE
HTTPABLE
IF_NONE_MATCH_HEADER_KEY
JSON_TYPE
JS_TYPE
LOCATION_HEADER_KEY
LOG_FORMAT
NEWLINE
NOT_FOUND
OPTIONS
PATCH
POST
POST_OVERRIDABLE
POST_OVERRIDE_REQUEST_HEADER_KEY
PUT
REAL_IP_REQUEST_HEADER_KEY
SEMICOLON
SSE_DATA_TEMPLATE
SSE_EVENT_TEMPLATE
SSE_HEADER
STATICABLE
UNDERSCORE
VERSION
XML_TYPE

Attributes

response_log_level[W]

Public Class Methods

log(meth, connection, request, socket, status, body_size = '-') click to toggle source
# File lib/angelo.rb, line 87
def self.log meth, connection, request, socket, status, body_size = '-'

  remote_ip = case
              when request.headers[REAL_IP_REQUEST_HEADER_KEY]
                request.headers[REAL_IP_REQUEST_HEADER_KEY]
              when socket
                socket.peeraddr(false)[3]
              else
                connection.remote_ip rescue 'unknown'
              end

  Celluloid::Internals::Logger.__send__ Angelo.response_log_level, LOG_FORMAT % [
    remote_ip,
    (meth && meth.upcase) || request.method,
    request.url,
    request.version,
    Symbol === status ? HTTP::Response::Status::SYMBOL_CODES[status] : status,
    body_size
  ]

end
response_log_level() click to toggle source
# File lib/angelo.rb, line 81
def response_log_level
  @response_log_level ||= DEFAULT_RESPONSE_LOG_LEVEL
end