Γρήγορη αναφορά

Φύλλο οδηγιών Phoenix Plug.Conn

Γρήγορος οδηγός αναφοράς για το Plug.Conn στο Phoenix: επιθεώρηση παραμέτρων αιτήματος, ορισμός κεφαλίδων απόκρισης, cookies και ανακατευθύνσεις.

· Δημοσιεύτηκε

Στο πλαίσιο Phoenix της Elixir, το Plug.Conn αντιπροσωπεύει τόσο το εισερχόμενο αίτημα όσο και την εξερχόμενη απόκριση HTTP ως αμετάβλητη δομή δεδομένων.

Επιθεώρηση εισερχόμενων αιτημάτων (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}

# Προσβαση σε κεφαλιδες αιτηματος
get_req_header(conn, "authorization") # => ["Bearer token_xyz"]

Αποστολή αποκρίσεων HTTP (Sending HTTP Responses)

# Αποστολη αποκρισης JSON
conn
|> put_status(200)
|> json(%{status: "ok", count: 42})

# Αποστολη αποκρισης HTML
conn
|> put_status(200)
|> html("<h1>Welcome</h1>")

# Αποστολη απλου κειμενου
conn
|> put_status(404)
|> text("Not Found")

Ανακατευθύνσεις και έλεγχος ροής (Redirects & Flow Control)

# Τοπικη ανακατευθυνση
redirect(conn, to: "/dashboard")

# Εξωτερικη ανακατευθυνση
redirect(conn, external: "https://example.com")

# Διακοπη εκτελεσης σωληνωσης
conn
|> put_status(401)
|> text("Unauthorized")
|> halt()

Τροποποίηση κεφαλίδων και cookies (Modifying Headers & Cookies)

# Κεφαλιδες αποκρισης
conn
|> put_resp_header("x-frame-options", "DENY")
|> put_resp_content_type("application/pdf")

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

Σχετικές αναφορές

Σχετικά θέματα