From cdf52e31803a67c3bb9b2a81b20d8cef182f89b2 Mon Sep 17 00:00:00 2001 From: Ethan Byrd Date: Sun, 19 Jul 2026 22:03:51 -0700 Subject: [PATCH] Correct the Go README claim about when Send blocks The README stated unconditionally that Send, Reply, and Forward keep the HTTP request open until the downstream SMTP transaction completes, and told readers to size their context deadline for 30-60 seconds accordingly. That is only true when Wait is set. Without it the call returns once the message is accepted for delivery, so the advice pushed a needlessly long deadline onto the common path. Forward has no Wait field at all and always returns on acceptance. The Node and Python READMEs already describe this correctly; this brings Go in line with them. --- sdk-go/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sdk-go/README.md b/sdk-go/README.md index f1fb604b..6cb31f48 100644 --- a/sdk-go/README.md +++ b/sdk-go/README.md @@ -82,9 +82,11 @@ result, err := client.Send(ctx, primitive.SendParams{ }) ``` -`Send`, `Reply`, and `Forward` keep the HTTP request open until Primitive's -downstream SMTP transaction completes. Use a context deadline long enough for -SMTP delivery, typically 30-60 seconds. +By default `Send`, `Reply`, and `Forward` return as soon as Primitive accepts +the message for delivery. On `Send` and `Reply`, set `Wait` to keep the HTTP +request open until the first downstream SMTP delivery outcome; in that mode, +give the context a deadline long enough for SMTP delivery, typically 30-60 +seconds. `Forward` has no `Wait` field and always returns on acceptance. ### Per-call timeout and cancellation