Issues.00621 - lordmundi/wikidoctest GitHub Wiki

00621: POST to dandelion web server in WCS not working

« 00620 | Issues | 00622 »

Summary: POST to dandelion web server in WCS not working

Created: 2017–06–16 16:45

Status: Released

Category: Bug

From: frankie

Version: 2.4

Released_In: 2.4.1

Description:

this works in EDGE v2.3, so it clearly isn't a browser issue.

So here's what I did. I instrumented dandelion to have printouts at various stages. And I did a POST to the /command resource in a web server in EDGE v2.3 and got this:

inside dandelion respond. inside get_initial: uri is /command inside get_headers: the request method is POST in POST: content_length is: 33 in POST, calling get_body… in get_body, about to read off of sock in get_body, about to check blength in get_body, blength is 33 inside get_body: nothing left to read, calling handler which is wcs_default_handler request: - POST - /command WCS Executing remote command: doug.cmd get_version

so I copied that exact same dandelion.tcl file over to EDGE v2.4, ran it and did the same POST to /command and got this:

inside dandelion respond. inside get_initial: uri is /command inside get_headers: the request method is POST in POST: content_length is: 33 in POST, calling get_body… in get_body, about to read off of sock in get_body, socket is blocked. scheduling another read when readable

my guess is that SOMETHING has either changed in tcl 8.6 related to sockets that we aren't accounting for, or there is a bug in the version of tcl 8.6 we are using (unlikely).


Comments


« 00620 | Issues | 00622 »

Associated Commits

| commit | 91be8eb1fc8c723ca3c66873d44f35b51c5202e1 link5 | || | Author: | Alex Lin | | Date: | Tue Jun 20 10:09:38 2017 -0500 | | Message: | [@Issue 00621: POST to dandelion web server in WCS not working The chan call sould only be called if the number of bytes read is zero. Added a check to test if we read any data, if we did not then check to see if the socket would block. @] |

Affected Files:

tcltk_local/tcl8.6/dandelion1.0/dandelion.tcl | 6 +++±-
 1 file changed, 4 insertions(+), 2 deletions(-)