Module: Stargate::Server::Engine::Sinatra::Helpers

Defined in:
lib/stargate/server/engine/sinatra.rb

Instance Method Summary collapse

Instance Method Details

#accept_typeObject



90
91
92
# File 'lib/stargate/server/engine/sinatra.rb', line 90

def accept_type
  accept = env['HTTP_ACCEPT'] and accept.split(/\s*[;,]\s*/, 2).first.downcase
end

#body_codecObject



82
83
84
# File 'lib/stargate/server/engine/sinatra.rb', line 82

def body_codec
  Codec[request.media_type || settings.default_mime_type]
end

#error_response(code) ⇒ Object



75
76
77
78
79
80
# File 'lib/stargate/server/engine/sinatra.rb', line 75

def error_response(code)
  status(code)
  err = env['sinatra.error']
  log.error(err)
  response_codec.encode({error: err.class.name, message: err.message})
end

#logObject



62
63
64
# File 'lib/stargate/server/engine/sinatra.rb', line 62

def log
  settings.logger
end

#parse_argsObject



66
67
68
69
70
71
72
73
# File 'lib/stargate/server/engine/sinatra.rb', line 66

def parse_args
  request.body.rewind

  args = body_codec.decode(request.body.read)
  args = [] if args.nil?
  args = [ args ] if args.kind_of?(Hash)
  args
end

#response_codecObject



86
87
88
# File 'lib/stargate/server/engine/sinatra.rb', line 86

def response_codec
  Codec[accept_type || settings.default_mime_type]
end