Module: Angelo
- Defined in:
- lib/angelo.rb,
lib/angelo/base.rb,
lib/angelo/stash.rb,
lib/angelo/server.rb,
lib/angelo/version.rb,
lib/angelo/tilt/erb.rb,
lib/angelo/responder.rb,
lib/angelo/mustermann.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, Mustermann, ParamsParser, Stash, Tilt Classes: Base, FormEncodingError, HALT_STRUCT, RequestError, Responder, Server
Constant Summary collapse
- GET =
'GET'
- POST =
'POST'
- PUT =
'PUT'
- DELETE =
'DELETE'
- OPTIONS =
'OPTIONS'
- ROUTABLE =
[:get, :post, :put, :delete, :options, :websocket]
- HTTPABLE =
[:get, :post, :put, :delete, :options]
- STATICABLE =
[:get, :head]
- 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 =
'text/javascript'
- 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"
- SSE_DATA_TEMPLATE =
"data: %s\n\n"
- SSE_EVENT_TEMPLATE =
"event: %s\ndata: %s\n\n"
- VERSION =
'0.3.1'
Class Attribute Summary collapse
Class Method Summary collapse
Class Attribute Details
.response_log_level ⇒ Object
69 70 71 |
# File 'lib/angelo.rb', line 69 def response_log_level @response_log_level ||= DEFAULT_RESPONSE_LOG_LEVEL end |
Class Method Details
.log(connection, request, socket, status, body_size = '-') ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/angelo.rb', line 75 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 |