repo_server/lib/routing.ex

46 lines
1 KiB
Elixir

defmodule RlRepo.Router do
require Logger
@moduledoc """
"""
def route_3( path, request_type) do
Logger.info "#{request_type}"
{repo_name, pkg_name, action} = path
if action == "info" do
Logger.info "fetching json"
end
{200, "application/json", "{\"pkg_name\": \"#{pkg_name}\"}"}
end
def route_4(path, request_type) do
Logger.info "#{request_type}"
{repo_name, sub_repo_name, pkg_name, action} = path
{200, "text/html", "<p>Hi</p>"}
end
def parse_3_segment_path(path) do
[repo_name | rest ] = path
[pkg_name | rest] = rest
[action | _ ] = rest
Logger.info "REPO #{repo_name} PKG #{pkg_name} ACTION #{action}"
{repo_name, pkg_name, action}
end
def parse_4_segment_path(path) do
[repo_name | rest ] = path
[sub_repo_name | rest] = rest
[pkg_name | rest] = rest
[action | _ ] = rest
Logger.info "REPO #{repo_name} SUB_REPO #{sub_repo_name} PKG #{pkg_name} ACTION #{action}"
{repo_name, sub_repo_name, pkg_name, action}
end
end