首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Julia中使用Genie.jl收集HTTP响应状态

如何在Julia中使用Genie.jl收集HTTP响应状态
EN

Stack Overflow用户
提问于 2021-06-25 15:51:57
回答 1查看 85关注 0票数 2

如何收集脚本的HTTP响应状态?下面是一个示例代码,它将启动一个服务器并允许两个交互路由。

代码语言:javascript
复制
using Genie
import Genie.Router: route
import Genie.Renderer.Json: json

Genie.config.run_as_server = true

route("/try/", method=GET) do
  (:message => "Welcome") |> json
end

route("/test/", method=POST) do
  data = jsonpayload()
  <body>
end
Genie.startup()

如何将200500等响应状态作为字符串变量进行收集?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-25 19:34:08

使用HTTP打开与服务器的连接,并查找status字段:

代码语言:javascript
复制
julia> using HTTP

julia> response = HTTP.get("http://127.0.0.1:8000/try")
HTTP.Messages.Response:
"""
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Genie/1.18.1/Julia/1.6.1
Transfer-Encoding: chunked

{"message":"Welcome"}"""

julia> response.status
200

如果你想自己控制状态,你可以在服务器端添加:

代码语言:javascript
复制
 route("/tryerror/", method=GET) do
     Genie.Responses.setstatus(503)
 end

现在让我们测试一下503

代码语言:javascript
复制
julia> response = HTTP.get("http://127.0.0.1:8000/tryerror")
ERROR: HTTP.ExceptionRequest.StatusError(503, "GET", "/tryerror", HTTP.Messages.Response:
"""
HTTP/1.1 503 Service Unavailable
Content-Type:
Server: Genie/1.18.1/Julia/1.6.1
Transfer-Encoding: chunked

""")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68127425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档