Sha256: 52508b42892a4e540f0f8f6dbabf83d181f271b69d64503e2f834512f1d1aa77

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

class ApiRequest < AppRequest

  def self.call env
    path = env["REQUEST_PATH"]

    #

    status = 200
    headers = {
      "Framework" => "Liza #{Lizarb::VERSION}"
    }
    body = ""

    #

    segments = Array path.split("/")[1..-1]

    case segments
    in "api", "auth", "sign_up"
      body = render_route_api_auth_sign_up
    in "api", "auth", "sign_in"
      body = render_route_api_auth_sign_in
    in "api", "auth", "account"
      body = render_route_api_auth_account
    in "api", "auth", "sign_out"
      body = render_route_api_auth_sign_out
    in "api", "users"
      body = render_route_api_users
    else
      status = 404
      body = render_route_not_found env["LIZA_PATH"]
    end

    body = body.to_json

    [status, headers, [body]]
  end

  def self.render_route_api_auth_sign_up
    {route: "render_route_api_auth_sign_up"}
  end

  def self.render_route_api_auth_sign_in
    {route: "render_route_api_auth_sign_in"}
  end

  def self.render_route_api_auth_account
    {route: "render_route_api_auth_account"}
  end

  def self.render_route_api_auth_sign_out
    {route: "render_route_api_auth_sign_out"}
  end

  def self.render_route_api_users
    {route: "render_route_api_users"}
  end

  def self.render_route_not_found path
    {route: "render_route_not_found #{path}"}
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lizarb-1.0.5 app/web/requests/api_request.rb
lizarb-1.0.4 app/web/requests/api_request.rb
lizarb-1.0.3 app/web/requests/api_request.rb
lizarb-1.0.2 app/web/requests/api_request.rb