Module: Angelo
- Defined in:
- lib/angelo.rb,
lib/angelo/base.rb,
lib/angelo/main.rb,
lib/angelo/stash.rb,
lib/angelo/server.rb,
lib/angelo/version.rb,
lib/angelo/tilt/erb.rb,
lib/angelo/responder.rb,
lib/angelo/params_parser.rb,
lib/angelo/minitest/helpers.rb,
lib/angelo/responder/websocket.rb,
lib/angelo/responder/eventsource.rb
Overview
require ‘ruby-prof’
RubyProf.start RubyProf.pause
Defined Under Namespace
Modules: Minitest, ParamsParser, Stash, Tilt Classes: Base, FormEncodingError, HALT_STRUCT, RequestError, Responder, Server, SymHash
Constant Summary collapse
- GET =
'GET'- POST =
'POST'- PUT =
'PUT'- DELETE =
'DELETE'- OPTIONS =
'OPTIONS'- HTTPABLE =
[:get, :post, :put, :delete, :options]
- STATICABLE =
[:get, :head]
- ACCEPT_REQUEST_HEADER_KEY =
'Accept'- CONTENT_TYPE_HEADER_KEY =
'Content-Type'- CONTENT_DISPOSITION_HEADER_KEY =
'Content-Disposition'- CONTENT_LENGTH_HEADER_KEY =
'Content-Length'- ATTACHMENT_CONTENT_DISPOSITION =
'attachment; filename="%s"'- ETAG_HEADER_KEY =
'ETag'- IF_NONE_MATCH_HEADER_KEY =
'If-None-Match'- LOCATION_HEADER_KEY =
'Location'- SSE_HEADER =
{ CONTENT_TYPE_HEADER_KEY => 'text/event-stream' }
- HTML_TYPE =
'text/html'- JSON_TYPE =
'application/json'- FORM_TYPE =
'application/x-www-form-urlencoded'- FILE_TYPE =
'application/octet-stream'- JS_TYPE =
'application/javascript'- XML_TYPE =
'application/xml'- DEFAULT_ADDR =
'127.0.0.1'- DEFAULT_PORT =
4567- DEFAULT_VIEWS_DIR =
'views'- DEFAULT_PUBLIC_DIR =
'public'- DEFAULT_LOG_LEVEL =
::Logger::INFO
- DEFAULT_RESPONSE_LOG_LEVEL =
:info- DEFAULT_RESPONSE_HEADERS =
{ CONTENT_TYPE_HEADER_KEY => HTML_TYPE }
- NOT_FOUND =
'Not Found'- LOG_FORMAT =
'%s - - "%s %s HTTP/%s" %d %s'- DEFAULT_PING_TIME =
30- UNDERSCORE =
'_'- DASH =
'-'- EMPTY_STRING =
''- NEWLINE =
"\n"- SEMICOLON =
';'- EQUALS =
'='- AMPERSAND =
'&'- SSE_DATA_TEMPLATE =
"data: %s\n\n"- SSE_EVENT_TEMPLATE =
"event: %s\ndata: %s\n\n"- VERSION =
'0.4.0'
Class Attribute Summary collapse
Class Method Summary collapse
Class Attribute Details
.response_log_level ⇒ Object
76 77 78 |
# File 'lib/angelo.rb', line 76 def response_log_level @response_log_level ||= DEFAULT_RESPONSE_LOG_LEVEL end |
Class Method Details
.log(connection, request, socket, status, body_size = '-') ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/angelo.rb', line 82 def self.log connection, request, socket, status, body_size = '-' remote_ip = ->{ if socket.nil? connection.remote_ip rescue 'unknown' else socket.peeraddr(false)[3] end } Celluloid::Logger.__send__ Angelo.response_log_level, LOG_FORMAT % [ remote_ip[], request.method, request.url, request.version, Symbol === status ? HTTP::Response::SYMBOL_TO_STATUS_CODE[status] : status, body_size ] end |