IOError: поток закрыт или недоступен в новом приложении gen ie - PullRequest
1 голос
/ 10 апреля 2020

Я создал новое приложение Gen ie, как описано здесь . :

Genie.newapp("MyGenieApp")

с маршрутами .jl выглядит так:

using Genie.Router

route("/") do
  serve_static_file("welcome.html")
end

route("/hello")do
    "Welcome to Genie"
end

Но при доступе к http://127.0.0.1: 8000 / , универсальный c 404- Страница Not-Found отображается, и эта ошибка выводится на консоль:

julia> ┌ Error: / 404
└ @ Genie.Router C:\Users\User\.julia\packages\Genie\1gtMT\src\Router.jl:150
┌ Error: error handling request
│   exception =
│    IOError: stream is closed or unusable
│    Stacktrace:
│     [1] check_open at .\stream.jl:328 [inlined]
│     [2] uv_write_async(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:961
│     [3] uv_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:924
│     [4] unsafe_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:1007
│     [5] unsafe_write at C:\Users\User\.julia\packages\HTTP\nMACo\src\ConnectionPool.jl:174[inlined]
│     [6] macro expansion at .\gcutils.jl:91 [inlined]
│     [7] write at .\strings\io.jl:186 [inlined]
│     [8] writeheaders(::HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}, ::HTTP.Messages.Response) at C:\Users\User\.julia\packages\HTTP\nMACo\src\Messages.jl:439
│     [9] startwrite(::HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at C:\Users\User\.julia\packages\HTTP\nMACo\src\Streams.jl:85
│     [10] handle(::HTTP.Handlers.RequestHandlerFunction{Genie.AppServer.var"#6#12"}, ::HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at C:\Users\User\.julia\packages\HTTP\nMACo\src\Handlers.jl:278
│     [11] #4 at C:\Users\User\.julia\packages\HTTP\nMACo\src\Handlers.jl:345 [inlined]
│     [12] macro expansion at C:\Users\User\.julia\packages\HTTP\nMACo\src\Servers.jl:367 [inlined]
│     [13] (::HTTP.Servers.var"#13#14"{HTTP.Handlers.var"#4#5"{HTTP.Handlers.RequestHandlerFunction{Genie.AppServer.var"#6#12"}},HTTP.ConnectionPool.Transaction{Sockets.TCPSocket},HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}})() at .\task.jl:333 

У кого-то есть подсказка, что я делаю не так?

1 Ответ

1 голос
/ 14 апреля 2020

Проблема заключалась в этой строке:

Genie.newapp("MyGenie App")

вместо использования CamelCase, на самом деле здесь есть пробел. Поскольку Gen ie создает файлы и переменные с этим именем, пробел здесь не разрешен.

...