defmodule Servy do
    def handle(request) do
        request
        |> parse
        |> rewrite_path
        |> log
    end
    
    def rewrite_path(%{ path: "/wildlife" } = conv) do
        %{ conv | path: "wildthings" }
    end
    
    def rewrite_path(conv), do: conv
    def parse(request) do
    [method, path, _] = request
        |> String.split("\n")
        |> List.first
        |> String.split(" ")
        
        %{ method: method,
           path: path,
           resp_body: "",
           status: nil
         }
    end
    
    def log(conv), do: IO.inspect conv
end
request = """
GET /wildlife HTTP/1.1
Host: example.com
User-Agent: ExampleBrowser/1.0
Accept: */*
"""
request |> Servy.handle