From 86b15ccf048b3bd4782b85b7488c2d7d00dd9c7b Mon Sep 17 00:00:00 2001 From: "ZarTek @ CREOLE" Date: Tue, 27 Dec 2022 18:47:26 +0100 Subject: [PATCH] Add timeout for http_get default 30 seconds --- http.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/http.go b/http.go index 83533d6..e0feb15 100644 --- a/http.go +++ b/http.go @@ -254,13 +254,18 @@ func http_get(initid *C.UDF_INIT, args *C.UDF_ARGS, result *C.char, length *uint null_value *C.char, message *C.char) *C.char { gArg_count := uint(args.arg_count) + // Create a new HTTP client with a timeout of 30 seconds + client := &http.Client{ + Timeout: 30 * time.Second, + } + var ret string var err error if gArg_count == 1 { - ret, err = httpRaw("GET", C.GoString(*args.args), "", "", nil) + ret, err = httpRaw("GET", C.GoString(*args.args), "", "", nil, client) } else { gArgs := ((*[arrLength]*C.char)(unsafe.Pointer(args.args)))[:gArg_count:gArg_count] - ret, err = httpRaw("GET", C.GoString(*args.args), "", "", gArgs[1:]) + ret, err = httpRaw("GET", C.GoString(*args.args), "", "", gArgs[1:], client) } if err != nil { @@ -272,6 +277,7 @@ func http_get(initid *C.UDF_INIT, args *C.UDF_ARGS, result *C.char, length *uint return result } + //export http_post_init func http_post_init(initid *C.UDF_INIT, args *C.UDF_ARGS, message *C.char) C.my_bool { if args.arg_count < 3 {