Add default connect_timeout option to connection string (#626)

* Add default connect_timeout option to connection string
* Add an extra test
This commit is contained in:
Dan Sosedoff
2022-12-20 16:58:54 -06:00
committed by GitHub
parent b31e7f1ea7
commit bcba666507
3 changed files with 43 additions and 0 deletions

View File

@@ -6,9 +6,11 @@ import (
neturl "net/url"
"os"
"os/user"
"strconv"
"strings"
"github.com/jackc/pgpassfile"
"github.com/sosedoff/pgweb/pkg/command"
)
@@ -88,6 +90,11 @@ func FormatURL(opts command.Options) (string, error) {
}
}
// Configure default connect timeout
if opts.OpenTimeout > 0 {
params["connect_timeout"] = strconv.Itoa(opts.OpenTimeout)
}
// Rebuild query params
query := neturl.Values{}
for k, v := range params {
@@ -142,6 +149,11 @@ func BuildStringFromOptions(opts command.Options) (string, error) {
opts.Pass = lookupPassword(opts, nil)
}
// Configure default connect timeout
if opts.OpenTimeout > 0 {
query.Add("connect_timeout", strconv.Itoa(opts.OpenTimeout))
}
url := neturl.URL{
Scheme: "postgres",
Host: fmt.Sprintf("%v:%v", opts.Host, opts.Port),