Hello,
Use (define-values (a b c) (http-send-recv ...)) as a remplacement for define
when you receive multiple values.
Or (let-values ([(a b c) (http-send-recv ...)]) ...) the same idea but for let.
You can search for binding ending with '-values'.
see
Hi Jay,
Sorry for this newbie question, but how do I grab just the third value.
Everything I try gets me an arity mismatch:
result arity mismatch;
expected number of values not received
expected: 1
received: 3
values...:
#HTTP/1.1 200 OK
'(#Cache-Control: no-store, no-cache,
On Jun 17, 2015, at 11:38 AM, bruc...@gmail.com wrote:
Thanks so much; however, I'm still having trouble getting the lights to
respond. I had to alter your example somewhat, because Racket was complaining
about an in-string: contract violation. The following seems to work:
Oops forgot to
Thanks so much; however, I'm still having trouble getting the lights to
respond. I had to alter your example somewhat, because Racket was complaining
about an in-string: contract violation. The following seems to work:
(http-sendrecv
192.168.1.95 /api/username/lights/1/state
#:method 'PUT
On Jun 17, 2015, at 8:35 AM, Alexis King lexi.lam...@gmail.com wrote:
You probably want to use the net/http-client library, specifically the
http-sendrecv function. I’m not 100% sure, but I’d guess that the equivalent
Racket code for your curl command would look something like this.
John,
Thank you so much. That solved the problem of controlling the lights. However,
I still can't figure out how to get at the response from the Hue Bridge. I
should be receiving:
[
{success:{/lights/1/state/on:true}},
{success:{/lights/1/state/bri:170}},
The http-sendrecv function returns three values:
status : bytes?
header : (listof bytes?)
response : input-port?
You need to look at the third one for the response. You could pass it
to read-json or you could do port-string or anything else that you
can do with an input port.
Jay
On Wed, Jun
If you're on linux, one dirty trick you could try is to start up a local
web server like netcat to just listen on the HTTP port and show you
the request that's happening:
nc -l -p 80
Then, point Curl and your Racket script to localhost and compare the
request sent by each.
bruc...@gmail.com
Hello,
I'm new to programming, so patience is appreciated. I'm writing a simple
program in Racket to control Phillip Hue Bulbs in a performance environment.
Phillips has a simple RESTful API and I'm looking for the Racket commands or
library to send the commands. Previously I've used
You probably want to use the net/http-client library, specifically the
http-sendrecv function. I’m not 100% sure, but I’d guess that the equivalent
Racket code for your curl command would look something like this.
(require net/http-client
net/uri-codec)
(http-sendrecv
192.168.1.20
10 matches
Mail list logo