2 votes

Comment collecter le statut de la réponse HTTP en utilisant Genie.jl dans Julia.

Comment collecter le statut de la réponse HTTP pour un script ? Vous trouverez ci-dessous un exemple de code qui va démarrer un serveur et autoriser deux routes pour l'interaction.

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()

Comment collecter le statut de la réponse comme 200 , 500 ou d'autres comme une variable de type chaîne ?

2voto

Przemyslaw Szufel Points 20872

Ouvrez une connexion à votre serveur en utilisant HTTP et recherchez le champ d'état :

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

Si vous préférez contrôler vous-même l'état, vous pouvez l'ajouter du côté du serveur :

 route("/tryerror/", method=GET) do
     Genie.Responses.setstatus(503)
 end

Et maintenant, testons-le pour 503 :

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

""")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X