Riferimento rapido

Foglio di riferimento Phoenix Plug.Conn

Guida rapida di riferimento per Plug.Conn in Phoenix: ispezione parametri di richiesta, header di risposta, cookie, reindirizzamenti e halt della pipeline.

· Pubblicato

Nel framework Phoenix per Elixir, Plug.Conn rappresenta sia la richiesta che la risposta HTTP come struttura dati immutabile trasformata tramite plug.

Ispezione delle richieste in entrata (Inspecting Incoming Requests)

conn.host          # => "example.com"
conn.method        # => "GET", "POST", etc.
conn.path_info     # => ["users", "42"]
conn.request_path  # => "/users/42"
conn.query_string  # => "tab=activity&sort=desc"
conn.port          # => 443
conn.scheme        # => :https
conn.remote_ip     # => {127, 0, 0, 1}

# Accedere agli header della richiesta
get_req_header(conn, "authorization") # => ["Bearer token_xyz"]

Invio di risposte HTTP (Sending HTTP Responses)

# Inviare risposta JSON
conn
|> put_status(200)
|> json(%{status: "ok", count: 42})

# Inviare risposta HTML
conn
|> put_status(200)
|> html("<h1>Welcome</h1>")

# Inviare testo normale
conn
|> put_status(404)
|> text("Not Found")

Reindirizzamenti e controllo del flusso (Redirects & Flow Control)

# Reindirizzamento locale
redirect(conn, to: "/dashboard")

# Reindirizzamento esterno
redirect(conn, external: "https://example.com")

# Arrestare la pipeline (blocca l'esecuzione dei plug successivi)
conn
|> put_status(401)
|> text("Unauthorized")
|> halt()

# Header di risposta
conn
|> put_resp_header("x-frame-options", "DENY")
|> put_resp_content_type("application/pdf")

# Cookie
conn
|> put_resp_cookie("session_id", "xyz", http_only: true, secure: true)
|> delete_resp_cookie("remember_token")

Riferimenti correlati

Argomenti correlati