Forum OpenACS Development: Re: [ns_http run] return http0

Collapse
Posted by Gustaf Neumann on
What you see is the expected result in versions of NaviServer up to NaviServer 4.99.16. In these versions, you should be able to "... -result varName ..." to get the body into a variable named "varName".

This behavior has changed in NaviServer 4.99.17 (see [1]).

[1] https://bitbucket.org/naviserver/naviserver/src/12b3f7e266d36d1dd8313cf3dc036d1f8da9c5bc/NEWS#lines-77

Collapse
Posted by Iuri Sampaio on
Hi Gustaf,
I was drinking directly from the source: https://naviserver.sourceforge.io/n/naviserver/files/ns_http.html

and indeed I'm running release 4.99.16 still.

The call to [ns_http run] was wrapped in a TCL variable, as in:

set http [ns_http run -method "POST" -headers $req_hdrs -body $body $url]

However, even when I change as you corrected myself, it complains about the new switch i.e. -result

ns_http run -method "POST" -headers $req_hdrs -body $body -result http $url

I'm going to try [ns_http wait] and more derivations.

[10/Nov/2018:13:03:57][4766.7f235e7fc700][-conn:evex:25:25490-] Error: wrong # args: should be "ns_http run ?-body body? ?-body_file body_file? ?-cafile cafile? ?-capath capath? ?-cert cert? ?-headers headers? ?-hostname hostname? ?-keep_host_header? ?-method method? ?-timeout timeout? ?-verify verify? url"
while executing
"ns_http run -method "POST" -headers $req_hdrs -body $body -result http $url"
("uplevel" body line 36)
invoked from within
"uplevel {
ad_page_contract {}

auth::require_login

# Gets user's current location
set p

Collapse
Posted by Iuri Sampaio on
... or I could easily upgrade NS to .17.

Is https://github.com/gustafn/install-ns already on 4.99.17?

Collapse
Posted by Iuri Sampaio on
That's it. Upgrade scripts ran nice and easy. I'm on 4.99.17 and [ns_http run] runs smoothly!