aboutsummaryrefslogtreecommitdiff
path: root/tests/httpclient.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-01-02 13:20:53 -0800
committerGarrett D'Amore <garrett@damore.org>2018-01-02 15:34:44 -0800
commitce681752c44f792feab122cbd846b2407a42da72 (patch)
tree842fc38b7589463d3e07d30f7dadaf5bb3b0064d /tests/httpclient.c
parent68f9a47cb836b72e69a69c60938c3728d3a94fe2 (diff)
downloadnng-ce681752c44f792feab122cbd846b2407a42da72.tar.gz
nng-ce681752c44f792feab122cbd846b2407a42da72.tar.bz2
nng-ce681752c44f792feab122cbd846b2407a42da72.zip
fixes #191 Several HTTP problems found
First, httpbin.org was having some high latency (load) earlier today, so we needed to bump the timeout up. Next, this also uncovered a bug where our cancellation of http channels was a bit dodgy. This is changed to be a bit more robust, separating the "current" active http streams (for read or write) into separate tracking variables variables. Also, now cancellation immediately calls the aio finish for those -- there were assumptions elsewhere (expire timeouts) that cancellation caused nni_aio_finish() to be called. Finally there was a use after free bug in the websocket listener code where the listener could be freed while still having outstanding streams waiting to send the websocket reply.
Diffstat (limited to 'tests/httpclient.c')
-rw-r--r--tests/httpclient.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/httpclient.c b/tests/httpclient.c
index 6ea6fa6e..e377d334 100644
--- a/tests/httpclient.c
+++ b/tests/httpclient.c
@@ -1,6 +1,6 @@
//
-// Copyright 2017 Garrett D'Amore <garrett@damore.org>
-// Copyright 2017 Capitar IT Group BV <info@capitar.com>
+// Copyright 2018 Garrett D'Amore <garrett@damore.org>
+// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This software is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
@@ -40,7 +40,7 @@ TestMain("HTTP Client", {
iaio = (nni_aio *) aio;
iaio->a_addr = &rsa;
- nng_aio_set_timeout(aio, 1000);
+ nng_aio_set_timeout(aio, 20000);
nni_plat_tcp_resolv("httpbin.org", "80", NNG_AF_INET, 0, iaio);
nng_aio_wait(aio);
So(nng_aio_result(aio) == 0);
@@ -83,7 +83,7 @@ TestMain("HTTP Client", {
So(nng_aio_result(aio) == 0);
So(nni_http_res_get_status(res) == 200);
- Convey("The message contents are correct", {
+ Convey("The message contents are correct", {
uint8_t digest[20];
void * data;
const char *cstr;