anchor.diff:  
   %% Return the time of last modification of the file.
   
  --spec last_modified(Req, State)
  -		   -> {calendar:datetime(), Req, State}
  -			  when State::state().
  +-spec last_modified(cowboy_req:req(), state()) -> {calendar:datetime(), cowboy_req:req(), state()}.
   last_modified(Req, State={_, {ok, #file_info{mtime=Modified}}, _}) ->
       {Modified, Req, State}.
   
   %% Stream the file.
   %% @todo Export cowboy_req:resp_body_fun()?
   
  --spec get_file(Req, State)
  -	      -> {{stream, non_neg_integer(), fun()}, Req, State}
  -		     when State::state().
  +-spec get_file(cowboy_req:req(), state()) -> {{stream, non_neg_integer(), fun()}, cowboy_req:req(), state()}.
   get_file(Req, State={Path, {ok, #file_info{size=Size}}, _}) ->
       Sendfile = fun (Socket, Transport) ->
   		       case Transport:sendfile(Socket, Path) of
  
positive.code: -type state() :: {binary(), {ok, #file_info{}} | {error, atom()}, avlinfos(), extra()}.
  
  
  -spec init(Req, opts()) -> {cowboy_rest, Req, error | state()} when Req::cowboy_req:req().
  init(Req, Path) when is_list(Path) ->
      init(Req, list_to_binary(Path));
  init(Req, Path) ->
  
negative.code: 
  %% Generate an etag for the file.
  
  -spec generate_etag(cowboy_req:req(), state())
  		   -> {{strong | weak, binary()}, cowboy_req:req(), state()}.
  generate_etag(Req, State={Path, {ok, #file_info{size=Size, mtime=Mtime}}, Extra}) ->
      case proplists:get_value(etag, Extra) of
  	undefined ->
  