From: Gustaf N. <ne...@wu...> - 2021-04-30 19:41:57
|
Dear Maksym, one can access the content of a PUT/POST request via "ns_getcontent". Just get the content and parse content e.g. into a dict. -gn ============================ if {[ns_conn method] in {PUT POST} && [ns_set iget [ns_conn headers] Content-Type] eq "application/json" } { package req json set dict [json::json2dict [ns_getcontent -as_file false]] ns_return 200 text/plain $dict\n } else { ad_return_complaint 1 "unsupported HTTP method: [ns_conn method]" } ============================ Test: curl --header "Content-Type: application/json" --request POST --data '{"username":"xyz","password":"xyz"}'http://localhost:8100/json-receiver.tcl On 30.04.21 19:14, Maksym Zinchenko wrote: > Hello, maybe it's obvious but I'm a little bit stuck in here. > When I'm doing POST requests to Naviserver with Content-Type: > application/x-www-form-urlencoded, I can use [ns_conn files] > [ns_getform] to access data. > How do I access Content-Type: application/json requests? For example > if I'm sending JSON like that: > { > "action": "list", > "path": "/public_html" > } > How do I get those values? What about Content-Type: application/xml or > text/plain|?| |