Como permitir que o usuário baixe um arquivo no ChicagoBoss

Eu gero um xml e guardo em algum local, digamosmyproject/media/doc.xml Como eu sou desenvolvedor novato com erlang. O que eu sabia é que terei que definir cabeçalhos de solicitação como

"Content-Disposition", "attachment; filename=\"" + Filename + "\""

Mas não sei como conseguir isso com o ChicagoBoss. Eu segui os links:

Como baixar arquivos no ChicagoBoss?Como baixar um arquivo por erlang cowboy?

Mas ainda não tive a ideia clara de como fazer isso. O que tentamos fazer é:

download_xml('GET', [])->
    Fun = fun (Socket, Transport) ->
      Transport:sendfile(Socket, "/home/laxmikant/Desktop/demo.xml")
    end,
    Req2 = cowboy_req:set_resp_body_fun( F, Req),%% Req is available here
    Req3 = cowboy_req:set_resp_header(<<"Content-Disposition">>, "GET", Req2),
    Req4 = cowboy_req:set_resp_header(<<"attachment;filename=\"demo.xml\"">>, "GET", Req3),
     Req5 = cowboy_req:set_resp_header(<<"Content-Length">>, "GET",  Req4),
     Req6 = cowboy_req:set_resp_header(<<"1024">>, "GET",  Req5),
    cowboy_req:reply(200, [
        {<<"content-type">>, <<"application/octet-stream">>}
    ], "", Req6).

Mas parece que o objeto ChicagoBoss Request não corresponde ao Cowboy Req.

questionAnswers(0)

yourAnswerToTheQuestion