Module: Kjson::Roda
- Defined in:
- lib/kjson/roda.rb,
lib/kjson/roda/version.rb
Defined Under Namespace
Modules: RequestMethods, ResponseMethods
Constant Summary collapse
- OPTS =
{}.freeze
- JSON_PARAMS_KEY =
"roda.json_params".freeze
- INPUT_KEY =
"rack.input".freeze
- CONTENT_TYPE_MATCH =
/json/- ENDPOINT_SEPARATOR =
"."- JSON_ENCODER =
Oj.method(:dump)
- JSON_DECODER =
Oj.method(:load)
- JSON_OPTIONS =
{ mode: :strict, quirks_mode: false }.freeze
- KJSON_REQUEST_KEY =
"kjson.request".freeze
- KJSON_RESPONSE_KEY =
"kjson.response".freeze
- REQUEST_ERROR =
"REQUEST_ERROR".freeze
- SERVICE_ERROR =
"SERVICE_ERROR".freeze
- RESPONSE_ERROR =
"RESPONSE_ERROR".freeze
- TIMEOUT =
"TIMEOUT".freeze
- CLOSED =
"CLOSED".freeze
- TRANSPORT =
"TRANSPORT".freeze
- UNAVAILABLE =
"UNAVAILABLE".freeze
- BAD_REQUEST =
"BAD_REQUEST".freeze
- INVALID_FORMAT =
"INVALID_FORMAT".freeze
- UNIMPLEMENTED =
"UNIMPLEMENTED".freeze
- UNAUTHENTICATED =
"UNAUTHENTICATED".freeze
- NO_DATA =
"NO_DATA".freeze
- INTERNAL =
"INTERNAL".freeze
- PARSE_ERROR_HANDLER =
proc { |r| r.halt [400, {}, [Oj.dump({ data: nil, error: { type: REQUEST_ERROR, message: UNIMPLEMENTED } }, JSON_OPTIONS).freeze]] }
- VERSION =
"0.1.1"
Class Method Summary collapse
-
.configure(app, opts = OPTS) ⇒ Object
Handle options for the kjson plugin:.
Class Method Details
.configure(app, opts = OPTS) ⇒ Object
Handle options for the kjson plugin:
39 40 41 42 43 44 45 |
# File 'lib/kjson/roda.rb', line 39 def self.configure(app, opts = OPTS) app.opts[:kjson_error_handler] = opts[:error_handler] || app.opts[:kjson_error_handler] || PARSE_ERROR_HANDLER app.opts[:kjson_content_type] = opts[:content_type] || app.opts[:kjson_content_type] || CONTENT_TYPE_MATCH app.opts[:kjson_encoder] = opts[:json_encoder] || app.opts[:kjson_json_encoder] || JSON_ENCODER app.opts[:kjson_decoder] = opts[:json_decoder] || app.opts[:kjson_json_decoder] || JSON_DECODER app.opts[:kjson_options] = opts[:json_options] || app.opts[:kjson_json_options] || JSON_OPTIONS end |