Module: Onelinejson
- Defined in:
- lib/onelinejson.rb,
lib/onelinejson/version.rb
Defined Under Namespace
Modules: AppControllerMethods Classes: Railtie
Constant Summary collapse
- REJECTED_HEADERS =
[ /^HTTP_CACHE_.+/, /^HTTP_CONNECTION$/, /^HTTP_VERSION$/, /^HTTP_PRAGMA$/, /^HTTP_ACCEPT_LANGUAGE$/, /^HTTP_REFERER$/, /^HTTP_COOKIE$/, /^HTTP_AUTHORIZATION$/, /^HTTP_X_ACCESS_TOKEN$/, /.*HIDDEN.*/, ]
- REJECTED_PARAMS =
[ "password", "password_confirmation" ]
- ELIP =
"\xe2\x80\xa6"
- LOG_MAX_LENGTH =
16384
- ENTRY_MAX_LENGTH =
128
- BEFORE_HOOK =
lambda do |data, payload| request = data.select{ |k,_| [:method, :path, :format].include?(k) }.merge(payload.fetch(:request, {})) response = data.select{ |k,_| [:status, :duration, :view, :view_runtime].include?(k) } Onelinejson.enforce_max_json_length( { debug_info: payload[:debug_info] || {}, request: request, response: response, }) end
- VERSION =
"0.1.6"
Class Method Summary collapse
Class Method Details
.enforce_max_json_length(hash) ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/onelinejson.rb', line 47 def self.enforce_max_json_length(hash) return hash if JSON.dump(hash).size <= LOG_MAX_LENGTH deleted = hash[:request].delete(:params) || hash[:request].delete(:headers) if deleted enforce_max_json_length(hash) else hash end end |