Hey, with rev 1.58 OPTIONS in relay_http.c got broken or at least logic inside relay_read_http(). Quick fix it to cre->toread=0 and break, but this is probably not what should be there.
In my test case, from the client side I do an OPTIONS request, followed by a couple of GET. GET in the middle never gets catched and thus breaks intended usage. I’m doing a simple printf() debugging here to catch. cre->toread = strtonum(value, 0, LLONG_MAX, &errstr); printf("------ to read %lld\n", cre->toread); case HTTP_METHOD_GET: printf("GOT GET to read: %lld\n", cre->toread); case HTTP_METHOD_OPTIONS: printf("GOT OPT to read: %lld\n", cre->toread); The output with those in place from ’relayd -d’: host 10.6.128.38, check http code (1ms,http code ok), state up -> up, availability 100.00% GOT OPT to read: -2 ------ to read 0 ------ to read 214 relay test_api_tls, session 1 (1 active), 0, 176.10.170.140 -> 10.6.128.20:80, done, OPTIONS GOT GET to read: -2 ------ to read 214 relay test_api_tls, session 2 (1 active), 0, 176.10.170.140 -> 10.6.128.36:80, done, GET ^Chce exiting, pid 96033 //mxb