Issues.00621 - lordmundi/wikidoctest GitHub Wiki
00621: POST to dandelion web server in WCS not working
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
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(-)