class Upman::Server::BaseServlet

Attributes

error_msg[RW]
query[RW]
response[RW]

Public Class Methods

new(server, *options) click to toggle source
Calls superclass method
# File lib/upman/server/base_servlet.rb, line 9
def initialize(server, *options)
  super(server, *options)
end

Public Instance Methods

bad_request(response, body) click to toggle source
# File lib/upman/server/base_servlet.rb, line 49
def bad_request(response, body)
  response.status = 400
  response['Content-Type'] = 'application/json'
  response.body = "{\"status\": \"bad_request\", \"message\": \"#{body}\"}"
  response
end
do_GET(_request, response) click to toggle source

rubocop:disable Naming/MethodName

# File lib/upman/server/base_servlet.rb, line 14
def do_GET(_request, response)
  # rubocop:enable Naming/MethodName

  info "Process API request #{_request.path}"

  @response = response
  @query = _request.query
end
get_param(key, validate, require = false) click to toggle source
# File lib/upman/server/base_servlet.rb, line 56
def get_param(key, validate, require = false)
  if @query.nil?
    return ''
  end

  unless @query.include? key
    unless require
      return ''
    else
      return nil
    end
  end
  unless validate.nil?
    if validate == 'date'
      begin
        @query[key] = DateTime.parse(@query[key])
      rescue
        msg = "Invalid content for param #{key}, expected type: date - found #{@query[key]}"
        bad_request(@response, msg)
        fail msg
        return false
      end
    end
  end
  @query[key]
end
is_authenticated(request) click to toggle source
# File lib/upman/server/base_servlet.rb, line 23
def is_authenticated(request)
  node_service = Upman::Service::Node.new
  node_uuid = node_service.get_node_uuuid

  info "Checking Authentication"
  return true if request["x-upman-token"] == node_uuid

  fail "Access denied"

  false
end
not_authorized(response, body) click to toggle source
# File lib/upman/server/base_servlet.rb, line 42
def not_authorized(response, body)
  response.status = 401
  response['Content-Type'] = 'application/json'
  response.body = "{\"status\": \"not_authorized\", \"message\": \"#{body}\"}"
  response
end
ok(response, body) click to toggle source
# File lib/upman/server/base_servlet.rb, line 35
def ok(response, body)
  response.status = 200
  response['Content-Type'] = 'application/json'
  response.body = body
  response
end