2017-05-21 2 views
0

Je cherche actuellement à Phoenix et je me demande ce qui arrive à une connexion prise après la fin de son pipeline de bouchon.Qu'arrive-t-il à une connexion enfichable après la fin du pipeline?

conn 
|> endpoint 
|> router 
|> controller 
|> view 

La documentation dit que la fonction render/3 appellera la fonction de modèle correspondant dans la vue et répondre au client avec un code d'état de 200. Mais qu'arrive-t-il à la connexion après cela? Le retour est-il utilisé par l'un des appelants supérieurs (par exemple l'adaptateur cowboy) ou le pipeline se termine-t-il simplement par un retour ouvert inutilisé?

Répondre

1

En regardant le source code for Plug.Conn.send_resp/1 at the time of writing, vous pouvez voir que la connexion est d'abord envoyée via l'adaptateur, mais elle est ensuite retournée. C'est parce qu'il peut y avoir d'autres prises qui peuvent obtenir une connexion avec state: :sent et faire des choses arbitraires avec elle et les informations qu'elle contient. La valeur de retour finale (voir here) est utilisée par l'adaptateur.

+0

Avez-vous un exemple de cas d'utilisation pour une connexion avec 'state:: send'? –

+0

@ LucaFülbier Je n'ai jamais eu à l'utiliser personnellement, et je ne peux pas penser à quelque chose d'utile sur le dessus de ma tête, désolé: P – whatyouhide