Dear Gustaf,
It did help me to remind and  review my own code to assure that it was properly 
written. I grabbed the code from 
https://naviserver.sourceforge.io/n/naviserver/files/ns_http.html#5 
<https://naviserver.sourceforge.io/n/naviserver/files/ns_http.html#5>
Plus, I switched to ns_base40encode. Before I was using Openacs [base64::encode 
“${client}:${secret}"]
I've used the very first, basic and simple example (i.e. http queue and http 
wait), and still, I get the same logs.
https://evex.co/paypal-checkout <https://evex.co/paypal-checkout>


Notice: HTTP 
 status 0 time 0:215139 headers d5 body {} https {sslversion TLSv1.2 cipher 
AES256-SHA256}


Notice: HttpTaskRecv: connection probably closed by server (url 
https://api.sandbox.paypal.com/v1/oauth2/token)


I’m able to change credentials whenever I want to get 400 error to return. That 
means the credentials passed in the header were properly assigned.
Even though I agree I need to talk to the guys on PayPal, in case I missed any 
parameter to allow connectivity on their side.


Best wishes,
I
[16/Nov/2019:15:36:11][450.7f7a87fff700][-conn:evex:124:46257-] Warning: 
/paypal-checkout has no doc(title) set, fallback to instance_name.
[16/Nov/2019:15:36:23][450.7f7a87fff700][-conn:evex:124:46259-] Notice: 
HttpTaskRecv: connection probably closed by server (url 
https://api.sandbox.paypal.com/v1/oauth2/token)




[16/Nov/2019:15:46:05][450.7f7a87fff700][-conn:evex:124:46273-] Notice: 
HttpTaskRecv: connection probably closed by server (url 
https://api.sandbox.paypal.com/v1/oauth2/token)
[16/Nov/2019:15:46:05][450.7f7a87fff700][-conn:evex:124:46273-] Notice: RETURN 
URL /paypal-checkout *******




> On Nov 16, 2019, at 08:58, Gustaf Neumann <neum...@wu.ac.at> wrote:
> 
> Dear Iuri,
> 
> Let's start with a simple example: make a GET request to a service, which
> requires basic authentication
>   % ns_http run https://jigsaw.w3.org/HTTP/Basic/ 
> <https://jigsaw.w3.org/HTTP/Basic/>
> status 401 time 0:513863 headers d11 body {<!DOCTYPE HTML PUBLIC "-//W3C//DTD 
> HTML 4.01 Transitional//EN"
>                "http://www.w3.org/TR/html4/loose.dtd"; 
> <http://www.w3.org/TR/html4/loose.dtd>>
> <html>
> <head>
> ... 
> 
> NaviServer returns (starting with 4.99.17) for "ns_http run" a Tcl dict with 
> the relevant information. The request above returns the HTTP status 
> code 401, which means "Unauthorized".
> 
> Ok, now add some Authorization. As defined by RFC 7617, one has to add an
> Authorization request header field with user:id:password encoded in base64.
>   % set h [ns_set create]
>   % ns_set update $h Authorization "Basic [ns_base64encode guest:guest]"
>   % ns_http run -headers $h https://jigsaw.w3.org/HTTP/Basic/ 
> <https://jigsaw.w3.org/HTTP/Basic/>
> status 200 time 0:485802 headers d8 body {<!DOCTYPE HTML PUBLIC "-//IETF//DTD 
> HTML//EN">
> <html>
>   <head>
> ...
> 
> Now we see the status code 200, which means that the Authentication was ok.
> If you still get a status code of 401, probably userid and/or password are 
> not ok.
> 
> Hope this helps.
> -gn
> 
> On 15.11.19 16:21, Iuri Sampaio wrote:
>> What would be the argument/switch to convert the option -u, from CURL 
>> command, to ns_http command?
>> 
>> curl -v https://myhost.com/oauth2/token <https://myhost.com/oauth2/token> \
>>    -H "Accept: application/json" \
>>    -H "Accept-Language: en_US" \
>>    -u "client_id:secret" \
>>    -d "grant_type=client_credentials"
> 
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel

_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to