Ich habe eine Reihe von Transformation auf Plug.Conn
, die Zugriff auf Zwischenergebnisse benötigt.Wie kann ich auf den Parameter zugreifen, der über den Pipe-Operator in Elixir übergeben wurde?
n_conn =
conn
|> Plug.Conn.fetch_query_params()
nn_conn =
n_conn
|> assign(:result, inspect(Timestamp.convert_datetime(n_conn.params)))
nn_conn
|> send_resp(200, nn_conn.assigns.result)
|> halt()
Ich brauche n_conn
weil conn.params
nicht gesetzt ist, bis Plug.Conn.fetch_query_params()
genannt wird. Ebenso brauche ich nn_conn
weil n_conn.assigns.result
nicht gesetzt ist bis assign/3
Funktion aufgerufen wird.
Der Code ist ziemlich hässlich. Wenn es einen Weg gäbe, sich auf die Ausgabe des Rohroperators zu beziehen, könnte ich es wie folgt vereinfachen. Ich hatte gehofft, dass &1
funktioniert, aber es nicht tut.
conn
|> Plug.Conn.fetch_query_params()
|> assign(:result, inspect(Timestamp.convert_datetime(&1.params)))
|> send_resp(200, &1.assigns.result)
|> halt()
Gibt es eine Möglichkeit, damit umzugehen?