JuliaWeb/HTTP.jl

Feature: serve_file

Fechada

#567 aberto em 10 de ago. de 2020

 (4 comentários) (0 reação) (0 responsável)Julia (182 forks)batch import
enhancementhelp wantedserver

Métricas do repositório

Stars
 (679 estrelas)
Métricas de merge de PR
 (Mesclagem média 2d 5h) (40 fundiu PRs em 30d)

Description

This seems like generic enough functionality it could make sense to put in HTTP.jl. I don't have an api figured out, but just as a placeholder/starting point

# ?serve_file
#     serve_file(path; mimetype="infer", extension="infer", ...) :: HTTP.Response
#     serve_file(stream::HTTP.Stream, ...) :: Nothing

using HTTP

function handle_file(req::HTTP.Request)
    return HTTP.serve_file("file.txt") 
end

Some pointers to other implementations

PkgServer - https://github.com/JuliaPackaging/PkgServer.jl/blob/065235d39b4f66018dbc51ce3cb6861429f095e2/src/resource.jl#L394

Genie - https://github.com/GenieFramework/Genie.jl/blob/899ea32d3a7a95aab3bfe508fc9d6821bde2a1e0/src/Router.jl#L992

Flask - https://github.com/pallets/flask/blob/632f85b65354ad573bb33c54a0a9dd3ffcef371f/src/flask/helpers.py#L447

Guia do colaborador