anchor.diff:      end,
       {"200", "<html><head></head><body>"++"<ul>"++List++"</ul>"++"</body></html>"}.
   
  +read_cache(Path, Root) ->
  +    case ets:lookup(cache, Path) of
  +         []->
  +            {Code, Content} = read_path(Path, Root),
  +            ets:insert(cache, {Path, Content}),
  +            {Code, Content};
  +         [{_, Content}]->
  +            {"200", Content}
  +    end.
  +
   read_path(Path, Root) ->
       AbsolutePath = Root ++ Path,
       case filelib:is_dir(AbsolutePath) of
  
positive.code: 
  
  read_dir(Root, Path)->
      [PathOutOfList] = Path,
      io:format("~s is a file~n", [PathOutOfList]),
      HtmlPath = case PathOutOfList of
           "/" ->
             "";
           _ ->
             PathOutOfList
      end,
      List = case file:list_dir(Root ++ Path) of
           {ok, Filenames}->
  
negative.code:     end.
  
  get_html(Request, Root)->
      {_, [Path]} = dict:find("path", Request),
      {Code, Text} = read_cache(Path, Root),
      Len = string:len(Text),
      "HTTP/1.1 "++ Code ++" OK\r\nContent-Length: "++integer_to_list(Len)++ "\r\n\r\n" ++ Text.
  