Class groovyx.net.http.OkHttpPostSpec

61

tests

0

failures

1

ignored

4.054s

duration

100%

successful

Tests

Test Duration Result
HTTP POST with BASIC authentication (authorized) 0.076s passed
HTTP POST with BASIC authentication (unauthorized) 0.043s passed
HTTP POST with DIGEST authentication (authorized) 0.045s passed
HTTP POST with DIGEST authentication (unauthorized) 0.041s passed
HTTPS POST with BASIC authentication (authorized) 0.130s passed
HTTPS POST with BASIC authentication (unauthorized) 0.101s passed
HTTPS POST with DIGEST authentication (authorized) 0.087s passed
HTTPS POST with DIGEST authentication (unauthorized) 0.099s passed
form (url-encoded): HTTP 0.059s passed
form (url-encoded): HTTPS 0.077s passed
gzip compression supported 0.031s passed
interceptor 0.047s passed
multipart request #proto (core encoder) - ignored
multipart request HTTP 0.106s passed
multipart request HTTPS 0.084s passed
post with defined content-type and charset (HTTP) 0.040s passed
post with defined content-type and charset (HTTPS) 0.095s passed
post(): HTTP application/json [:] 0.096s passed
post(): HTTP application/xml [one:1] 0.107s passed
post(): HTTP text/csv [one:1, two:2] 0.046s passed
post(): HTTP text/html [two:2] 0.065s passed
post(): HTTP text/plain null 0.205s passed
post(): HTTPS application/json [:] 0.136s passed
post(): HTTPS application/xml [one:1] 0.136s passed
post(): HTTPS text/csv [one:1, two:2] 0.138s passed
post(): HTTPS text/html [two:2] 0.113s passed
post(): HTTPS text/plain null 0.124s passed
post(Class,Closure): cookies -> [:] 0.081s passed
post(Class,Closure): cookies -> [flavor:chocolate-chip, count:dozen] 0.168s passed
post(Class,Closure): cookies -> [flavor:chocolate-chip] 0.090s passed
post(Class,Closure): cookies -> null 0.077s passed
post(Class,Consumer): cookies -> [:] 0.102s passed
post(Class,Consumer): cookies -> [flavor:oatmeal, count:dozen] 0.071s passed
post(Class,Consumer): cookies -> [flavor:peanut-butter] 0.070s passed
post(Class,Consumer): cookies -> null 0.147s passed
post(Closure): query -> [:] 0.041s passed
post(Closure): query -> [alpha:[one, two], bravo:three] 0.040s passed
post(Closure): query -> [alpha:[one, two]] 0.035s passed
post(Closure): query -> [alpha:[one]] 0.024s passed
post(Closure): query -> [alpha:one] 0.065s passed
post(Closure): query -> null 0.053s passed
post(Consumer): headers -> [:] 0.057s passed
post(Consumer): headers -> [hat:fedora] 0.053s passed
post(Consumer): headers -> null 0.072s passed
request content encoding (application/json) 0.023s passed
request content encoding (application/xml) 0.018s passed
request content encoding (text/html) 0.015s passed
success/failure handler with BiFunction (200) 0.029s passed
success/failure handler with BiFunction (300) 0.013s passed
success/failure handler with BiFunction (400) 0.014s passed
success/failure handler with BiFunction (500) 0.022s passed
success/failure handler with Closure (200) 0.107s passed
success/failure handler with Closure (300) 0.026s passed
success/failure handler with Closure (400) 0.016s passed
success/failure handler with Closure (500) 0.013s passed
when handler with BiFunction (205) 0.031s passed
when handler with BiFunction (210) 0.020s passed
when handler with BiFunction (211) 0.023s passed
when handler with Closure (205) 0.054s passed
when handler with Closure (210) 0.027s passed
when handler with Closure (211) 0.030s passed

Standard output

18:09:07.854 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@766b1eee
18:09:07.862 [XNIO-42 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-1', selector sun.nio.ch.EPollSelectorImpl@15c9e145
18:09:07.862 [XNIO-42 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-2', selector sun.nio.ch.EPollSelectorImpl@4424deba
18:09:07.862 [XNIO-42 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-3', selector sun.nio.ch.EPollSelectorImpl@34c48c19
18:09:07.862 [XNIO-42 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2734d583
18:09:07.863 [XNIO-42 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3336e621
18:09:07.865 [XNIO-42 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-6', selector sun.nio.ch.EPollSelectorImpl@11e3b761
18:09:07.866 [XNIO-42 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-7', selector sun.nio.ch.EPollSelectorImpl@6928aaa8
18:09:07.866 [XNIO-42 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-8', selector sun.nio.ch.EPollSelectorImpl@17ff8a2a
18:09:07.866 [XNIO-42 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 Accept', selector sun.nio.ch.EPollSelectorImpl@238b0b3
18:09:07.866 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.867 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.883 [XNIO-42 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[0], User-Agent=[okhttp/3.5.0], Host=[localhost:42175]}, cookies=[:]): <empty> }
18:09:07.910 [XNIO-42 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.015 [XNIO-42 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[0], User-Agent=[okhttp/3.5.0], Host=[localhost:42175]}, cookies=[:]): <empty> }
18:09:08.016 [XNIO-42 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.018 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@766b1eee
18:09:08.021 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4e7cf917
18:09:08.027 [XNIO-43 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-1', selector sun.nio.ch.EPollSelectorImpl@7a52d037
18:09:08.027 [XNIO-43 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5bcf22a
18:09:08.027 [XNIO-43 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-3', selector sun.nio.ch.EPollSelectorImpl@1bfce945
18:09:08.028 [XNIO-43 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-4', selector sun.nio.ch.EPollSelectorImpl@54443771
18:09:08.031 [XNIO-43 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7cafd80d
18:09:08.042 [XNIO-43 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5f09874a
18:09:08.042 [XNIO-43 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1e9fc763
18:09:08.043 [XNIO-43 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-8', selector sun.nio.ch.EPollSelectorImpl@453fbd19
18:09:08.044 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.044 [XNIO-43 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 Accept', selector sun.nio.ch.EPollSelectorImpl@415ae2e3
18:09:08.045 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.126 [XNIO-43 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[0], User-Agent=[okhttp/3.5.0], Host=[localhost:43801]}, cookies=[:]): <empty> }
18:09:08.128 [XNIO-43 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.135 [XNIO-43 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[0], User-Agent=[okhttp/3.5.0], Host=[localhost:43801]}, cookies=[:]): <empty> }
18:09:08.137 [XNIO-43 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.139 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4e7cf917
18:09:08.148 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@152a47d7
18:09:08.150 [XNIO-44 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-1', selector sun.nio.ch.EPollSelectorImpl@b129184
18:09:08.150 [XNIO-44 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-5', selector sun.nio.ch.EPollSelectorImpl@63bf5e39
18:09:08.151 [XNIO-44 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4d673f51
18:09:08.150 [XNIO-44 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-2', selector sun.nio.ch.EPollSelectorImpl@4551156f
18:09:08.150 [XNIO-44 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6be51345
18:09:08.158 [XNIO-44 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-7', selector sun.nio.ch.EPollSelectorImpl@533da15a
18:09:08.159 [XNIO-44 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1666fc12
18:09:08.167 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.168 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.150 [XNIO-44 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-4', selector sun.nio.ch.EPollSelectorImpl@51d5f9b1
18:09:08.171 [XNIO-44 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 Accept', selector sun.nio.ch.EPollSelectorImpl@2e740356
18:09:08.196 [XNIO-44 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[2], User-Agent=[okhttp/3.5.0], Host=[localhost:44521]}, cookies=[:]): {} }
18:09:08.201 [XNIO-44 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:08.235 [XNIO-44 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[2], User-Agent=[okhttp/3.5.0], Host=[localhost:44521]}, cookies=[:]): {} }
18:09:08.237 [XNIO-44 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:08.241 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@152a47d7
18:09:08.253 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@68be658
18:09:08.256 [XNIO-45 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-1', selector sun.nio.ch.EPollSelectorImpl@23e8267c
18:09:08.257 [XNIO-45 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-2', selector sun.nio.ch.EPollSelectorImpl@14792f98
18:09:08.258 [XNIO-45 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-3', selector sun.nio.ch.EPollSelectorImpl@42da70ff
18:09:08.259 [XNIO-45 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-4', selector sun.nio.ch.EPollSelectorImpl@68cbbb24
18:09:08.262 [XNIO-45 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7b8a8177
18:09:08.262 [XNIO-45 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-6', selector sun.nio.ch.EPollSelectorImpl@24622a19
18:09:08.264 [XNIO-45 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-7', selector sun.nio.ch.EPollSelectorImpl@7d8a5682
18:09:08.274 [XNIO-45 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-8', selector sun.nio.ch.EPollSelectorImpl@73795f73
18:09:08.274 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.275 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.274 [XNIO-45 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 Accept', selector sun.nio.ch.EPollSelectorImpl@720dec64
18:09:08.358 [XNIO-45 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[2], User-Agent=[okhttp/3.5.0], Host=[localhost:41793]}, cookies=[:]): {} }
18:09:08.363 [XNIO-45 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:08.368 [XNIO-45 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[2], User-Agent=[okhttp/3.5.0], Host=[localhost:41793]}, cookies=[:]): {} }
18:09:08.377 [XNIO-45 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:08.379 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@68be658
18:09:08.383 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@3101b90b
18:09:08.394 [XNIO-46 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-1', selector sun.nio.ch.EPollSelectorImpl@79800af8
18:09:08.396 [XNIO-46 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7d090dcf
18:09:08.407 [XNIO-46 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5c5308e2
18:09:08.411 [XNIO-46 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6d8c9175
18:09:08.411 [XNIO-46 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7fc6de0c
18:09:08.412 [XNIO-46 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-6', selector sun.nio.ch.EPollSelectorImpl@55c0486f
18:09:08.415 [XNIO-46 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-7', selector sun.nio.ch.EPollSelectorImpl@103328c2
18:09:08.423 [XNIO-46 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-8', selector sun.nio.ch.EPollSelectorImpl@578ea949
18:09:08.435 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.435 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.447 [XNIO-46 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 Accept', selector sun.nio.ch.EPollSelectorImpl@148bcba0
18:09:08.461 [XNIO-46 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[11], User-Agent=[okhttp/3.5.0], Host=[localhost:34585]}, cookies=[:]): {"one":"1"} }
18:09:08.470 [XNIO-46 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:08.482 [XNIO-46 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[11], User-Agent=[okhttp/3.5.0], Host=[localhost:34585]}, cookies=[:]): {"one":"1"} }
18:09:08.483 [XNIO-46 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:08.486 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@3101b90b
18:09:08.491 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1329b6fe
18:09:08.493 [XNIO-47 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-1', selector sun.nio.ch.EPollSelectorImpl@3a461f84
18:09:08.493 [XNIO-47 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6ac9d23b
18:09:08.495 [XNIO-47 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-3', selector sun.nio.ch.EPollSelectorImpl@2404b486
18:09:08.498 [XNIO-47 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-4', selector sun.nio.ch.EPollSelectorImpl@b6d06d4
18:09:08.499 [XNIO-47 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-5', selector sun.nio.ch.EPollSelectorImpl@281f5bb9
18:09:08.500 [XNIO-47 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-6', selector sun.nio.ch.EPollSelectorImpl@30bdf3ee
18:09:08.501 [XNIO-47 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-7', selector sun.nio.ch.EPollSelectorImpl@18d40011
18:09:08.502 [XNIO-47 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-8', selector sun.nio.ch.EPollSelectorImpl@915c679
18:09:08.505 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.505 [XNIO-47 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 Accept', selector sun.nio.ch.EPollSelectorImpl@410d6da1
18:09:08.506 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.599 [XNIO-47 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[11], User-Agent=[okhttp/3.5.0], Host=[localhost:34479]}, cookies=[:]): {"one":"1"} }
18:09:08.601 [XNIO-47 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:08.615 [XNIO-47 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[11], User-Agent=[okhttp/3.5.0], Host=[localhost:34479]}, cookies=[:]): {"one":"1"} }
18:09:08.618 [XNIO-47 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:08.623 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1329b6fe
18:09:08.624 [XNIO-47 task-4] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ POST /alpha request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[11], User-Agent=[okhttp/3.5.0], Host=[localhost:34479]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[application/xml], Content-Length=[65], Date=[Sat, 10 Aug 2019 23:09:03 GMT]}}
java.lang.NullPointerException: null
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:427)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
18:09:08.631 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5bde9f9c
18:09:08.636 [XNIO-48 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2abf11f
18:09:08.636 [XNIO-48 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-3', selector sun.nio.ch.EPollSelectorImpl@24e8bb96
18:09:08.636 [XNIO-48 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-4', selector sun.nio.ch.EPollSelectorImpl@341cd81e
18:09:08.637 [XNIO-48 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-5', selector sun.nio.ch.EPollSelectorImpl@50f4de3a
18:09:08.641 [XNIO-48 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-2', selector sun.nio.ch.EPollSelectorImpl@592267a0
18:09:08.644 [XNIO-48 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-7', selector sun.nio.ch.EPollSelectorImpl@73634c2d
18:09:08.644 [XNIO-48 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-8', selector sun.nio.ch.EPollSelectorImpl@11dc98c
18:09:08.645 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.645 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.647 [XNIO-48 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 Accept', selector sun.nio.ch.EPollSelectorImpl@2f772a33
18:09:08.642 [XNIO-48 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-6', selector sun.nio.ch.EPollSelectorImpl@31683800
18:09:08.654 [XNIO-48 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[9], User-Agent=[okhttp/3.5.0], Host=[localhost:38993]}, cookies=[:]): {"two":2} }
18:09:08.656 [XNIO-48 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:08.687 [XNIO-48 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[9], User-Agent=[okhttp/3.5.0], Host=[localhost:38993]}, cookies=[:]): {"two":2} }
18:09:08.689 [XNIO-48 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:08.692 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5bde9f9c
18:09:08.703 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@69ca43e2
18:09:08.709 [XNIO-49 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1a5a991d
18:09:08.711 [XNIO-49 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-2', selector sun.nio.ch.EPollSelectorImpl@428b7786
18:09:08.711 [XNIO-49 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-3', selector sun.nio.ch.EPollSelectorImpl@68134b7f
18:09:08.712 [XNIO-49 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-4', selector sun.nio.ch.EPollSelectorImpl@53695568
18:09:08.715 [XNIO-49 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3d0b317c
18:09:08.715 [XNIO-49 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-6', selector sun.nio.ch.EPollSelectorImpl@442fd308
18:09:08.719 [XNIO-49 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-7', selector sun.nio.ch.EPollSelectorImpl@36454e7e
18:09:08.720 [XNIO-49 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6ebe478d
18:09:08.721 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.722 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.724 [XNIO-49 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 Accept', selector sun.nio.ch.EPollSelectorImpl@405ec082
18:09:08.791 [XNIO-49 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[9], User-Agent=[okhttp/3.5.0], Host=[localhost:36765]}, cookies=[:]): {"two":2} }
18:09:08.792 [XNIO-49 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:08.801 [XNIO-49 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[9], User-Agent=[okhttp/3.5.0], Host=[localhost:36765]}, cookies=[:]): {"two":2} }
18:09:08.807 [XNIO-49 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:08.809 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@69ca43e2
18:09:08.815 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@713d8023
18:09:08.823 [XNIO-50 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-1', selector sun.nio.ch.EPollSelectorImpl@244a08f
18:09:08.824 [XNIO-50 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-3', selector sun.nio.ch.EPollSelectorImpl@24cdcb44
18:09:08.823 [XNIO-50 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-2', selector sun.nio.ch.EPollSelectorImpl@113a33a7
18:09:08.825 [XNIO-50 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1727f300
18:09:08.827 [XNIO-50 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-5', selector sun.nio.ch.EPollSelectorImpl@68f6945d
18:09:08.828 [XNIO-50 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-6', selector sun.nio.ch.EPollSelectorImpl@731fbbe5
18:09:08.831 [XNIO-50 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-8', selector sun.nio.ch.EPollSelectorImpl@3f944e2c
18:09:08.831 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.832 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.833 [XNIO-50 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2d22b1fd
18:09:08.834 [XNIO-50 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 Accept', selector sun.nio.ch.EPollSelectorImpl@62816288
18:09:08.839 [XNIO-50 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[19], User-Agent=[okhttp/3.5.0], Host=[localhost:39961]}, cookies=[:]): {"one":"1","two":2} }
18:09:08.840 [XNIO-50 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:08.853 [XNIO-50 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[19], User-Agent=[okhttp/3.5.0], Host=[localhost:39961]}, cookies=[:]): {"one":"1","two":2} }
18:09:08.855 [XNIO-50 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:08.857 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@713d8023
18:09:08.861 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@31cf2ab9
18:09:08.861 [XNIO-50 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:190)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:511)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
		... 25 common frames omitted
18:09:08.863 [XNIO-51 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-1', selector sun.nio.ch.EPollSelectorImpl@5bc233d4
18:09:08.863 [XNIO-51 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-2', selector sun.nio.ch.EPollSelectorImpl@a74ab
18:09:08.873 [XNIO-51 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-3', selector sun.nio.ch.EPollSelectorImpl@30060997
18:09:08.879 [XNIO-51 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6f77657e
18:09:08.883 [XNIO-51 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-5', selector sun.nio.ch.EPollSelectorImpl@233b960d
18:09:08.884 [XNIO-51 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-6', selector sun.nio.ch.EPollSelectorImpl@6fa0b9e6
18:09:08.887 [XNIO-51 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1f994b6c
18:09:08.891 [XNIO-51 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-8', selector sun.nio.ch.EPollSelectorImpl@40b29650
18:09:08.895 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.895 [XNIO-51 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 Accept', selector sun.nio.ch.EPollSelectorImpl@4d634f3e
18:09:08.895 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.975 [XNIO-51 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[19], User-Agent=[okhttp/3.5.0], Host=[localhost:42505]}, cookies=[:]): {"one":"1","two":2} }
18:09:08.980 [XNIO-51 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:08.991 [XNIO-51 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /alpha (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[19], User-Agent=[okhttp/3.5.0], Host=[localhost:42505]}, cookies=[:]): {"one":"1","two":2} }
18:09:08.994 [XNIO-51 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:08.996 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@31cf2ab9
18:09:09.004 [XNIO-51 task-4] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:170)
	at ersatz.undertow.protocols.ssl.SslConduit.doWrap(SslConduit.java:892)
	at ersatz.undertow.protocols.ssl.SslConduit.write(SslConduit.java:379)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:164)
		... 27 common frames omitted
18:09:09.005 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@afee3fd
18:09:09.007 [XNIO-52 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4f02df2c
18:09:09.007 [XNIO-52 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-2', selector sun.nio.ch.EPollSelectorImpl@50af74e1
18:09:09.015 [XNIO-52 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-3', selector sun.nio.ch.EPollSelectorImpl@50df26
18:09:09.016 [XNIO-52 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-4', selector sun.nio.ch.EPollSelectorImpl@229c50c1
18:09:09.017 [XNIO-52 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-5', selector sun.nio.ch.EPollSelectorImpl@58dff949
18:09:09.017 [XNIO-52 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-6', selector sun.nio.ch.EPollSelectorImpl@44518437
18:09:09.018 [XNIO-52 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-7', selector sun.nio.ch.EPollSelectorImpl@47f811af
18:09:09.020 [XNIO-52 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-8', selector sun.nio.ch.EPollSelectorImpl@480376c2
18:09:09.027 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.027 [XNIO-52 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 Accept', selector sun.nio.ch.EPollSelectorImpl@173de1e6
18:09:09.027 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.040 [XNIO-52 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:45679]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.041 [XNIO-52 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.046 [XNIO-52 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:45679]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.048 [XNIO-52 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.050 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@afee3fd
18:09:09.054 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7cb6633f
18:09:09.063 [XNIO-53 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4ab95acc
18:09:09.063 [XNIO-53 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-2', selector sun.nio.ch.EPollSelectorImpl@4b5acbf8
18:09:09.064 [XNIO-53 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-3', selector sun.nio.ch.EPollSelectorImpl@17ea9c4f
18:09:09.070 [XNIO-53 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5c0d6abc
18:09:09.070 [XNIO-53 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1e80e87a
18:09:09.070 [XNIO-53 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-7', selector sun.nio.ch.EPollSelectorImpl@64912c3b
18:09:09.070 [XNIO-53 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-5', selector sun.nio.ch.EPollSelectorImpl@24bfa82d
18:09:09.071 [XNIO-53 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5b904711
18:09:09.074 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.074 [XNIO-53 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 Accept', selector sun.nio.ch.EPollSelectorImpl@3dbe2d91
18:09:09.075 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.084 [XNIO-53 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38577]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.086 [XNIO-53 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.090 [XNIO-53 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38577]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.091 [XNIO-53 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.093 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7cb6633f
18:09:09.098 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5680d0bf
18:09:09.100 [XNIO-54 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4a5595ad
18:09:09.103 [XNIO-54 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7185a526
18:09:09.108 [XNIO-54 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-4', selector sun.nio.ch.EPollSelectorImpl@748fa141
18:09:09.109 [XNIO-54 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-5', selector sun.nio.ch.EPollSelectorImpl@d2ba536
18:09:09.103 [XNIO-54 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-3', selector sun.nio.ch.EPollSelectorImpl@358acb2b
18:09:09.113 [XNIO-54 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-6', selector sun.nio.ch.EPollSelectorImpl@162037cc
18:09:09.123 [XNIO-54 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-7', selector sun.nio.ch.EPollSelectorImpl@3d29e407
18:09:09.131 [XNIO-54 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1e95cec7
18:09:09.132 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.132 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.134 [XNIO-54 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 Accept', selector sun.nio.ch.EPollSelectorImpl@3a0ac0c4
18:09:09.143 [XNIO-54 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:45521]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.144 [XNIO-54 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.156 [XNIO-54 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:45521]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.157 [XNIO-54 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.159 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5680d0bf
18:09:09.165 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5ba3c24b
18:09:09.167 [XNIO-55 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-1', selector sun.nio.ch.EPollSelectorImpl@65b5dfec
18:09:09.169 [XNIO-55 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-2', selector sun.nio.ch.EPollSelectorImpl@41ddc099
18:09:09.169 [XNIO-55 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-3', selector sun.nio.ch.EPollSelectorImpl@64f002ed
18:09:09.169 [XNIO-55 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-4', selector sun.nio.ch.EPollSelectorImpl@553ff1c2
18:09:09.169 [XNIO-55 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-5', selector sun.nio.ch.EPollSelectorImpl@772b2432
18:09:09.171 [XNIO-55 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1c4518af
18:09:09.173 [XNIO-55 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2a04b8da
18:09:09.173 [XNIO-55 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-8', selector sun.nio.ch.EPollSelectorImpl@42a926e1
18:09:09.173 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.173 [XNIO-55 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 Accept', selector sun.nio.ch.EPollSelectorImpl@4f85f68d
18:09:09.173 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.177 [XNIO-55 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42839]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.178 [XNIO-55 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.182 [XNIO-55 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42839]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.183 [XNIO-55 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.184 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5ba3c24b
18:09:09.189 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6893c091
18:09:09.191 [XNIO-56 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-1', selector sun.nio.ch.EPollSelectorImpl@66996a84
18:09:09.191 [XNIO-55 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:190)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:511)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
		... 25 common frames omitted
18:09:09.192 [XNIO-56 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-2', selector sun.nio.ch.EPollSelectorImpl@3ed335fe
18:09:09.195 [XNIO-56 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-3', selector sun.nio.ch.EPollSelectorImpl@40bb2426
18:09:09.195 [XNIO-56 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-7', selector sun.nio.ch.EPollSelectorImpl@533f4597
18:09:09.199 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.199 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.195 [XNIO-56 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1642ef98
18:09:09.195 [XNIO-56 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-5', selector sun.nio.ch.EPollSelectorImpl@78126115
18:09:09.195 [XNIO-56 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-6', selector sun.nio.ch.EPollSelectorImpl@37df5fe1
18:09:09.199 [XNIO-56 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 Accept', selector sun.nio.ch.EPollSelectorImpl@fcc51d0
18:09:09.199 [XNIO-56 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6adcb6b0
18:09:09.211 [XNIO-56 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one, two]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38461]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.212 [XNIO-56 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.217 [XNIO-56 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one, two]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38461]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.220 [XNIO-56 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.222 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6893c091
18:09:09.227 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@43a3b5b3
18:09:09.229 [XNIO-57 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2e74ac8c
18:09:09.231 [XNIO-57 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-2', selector sun.nio.ch.EPollSelectorImpl@4a09f549
18:09:09.231 [XNIO-57 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5f524eb1
18:09:09.232 [XNIO-57 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-4', selector sun.nio.ch.EPollSelectorImpl@61a7ab41
18:09:09.232 [XNIO-57 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-7', selector sun.nio.ch.EPollSelectorImpl@571c1751
18:09:09.232 [XNIO-57 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-5', selector sun.nio.ch.EPollSelectorImpl@147cd8a1
18:09:09.232 [XNIO-57 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7cdb2c80
18:09:09.244 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.244 [XNIO-57 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 Accept', selector sun.nio.ch.EPollSelectorImpl@793dbc25
18:09:09.244 [XNIO-57 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1417eae5
18:09:09.245 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.253 [XNIO-57 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one, two], bravo:[three]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36227]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.255 [XNIO-57 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.259 [XNIO-57 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /bravo (query=[alpha:[one, two], bravo:[three]], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36227]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.261 [XNIO-57 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.262 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@43a3b5b3
18:09:09.269 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@479e93c
18:09:09.271 [XNIO-58 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-1', selector sun.nio.ch.EPollSelectorImpl@64fdfee7
18:09:09.283 [XNIO-58 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-2', selector sun.nio.ch.EPollSelectorImpl@76d024e2
18:09:09.288 [XNIO-58 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-4', selector sun.nio.ch.EPollSelectorImpl@7ec1a2a8
18:09:09.294 [XNIO-58 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-5', selector sun.nio.ch.EPollSelectorImpl@72a6875c
18:09:09.283 [XNIO-58 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6fef4e60
18:09:09.295 [XNIO-58 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1f3f6cff
18:09:09.296 [XNIO-58 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-7', selector sun.nio.ch.EPollSelectorImpl@57f588ca
18:09:09.296 [XNIO-58 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-8', selector sun.nio.ch.EPollSelectorImpl@77b6dd08
18:09:09.299 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.299 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.301 [XNIO-58 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 Accept', selector sun.nio.ch.EPollSelectorImpl@77c62717
18:09:09.319 [XNIO-58 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /charlie (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:44337]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.320 [XNIO-58 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.330 [XNIO-58 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /charlie (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:44337]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.331 [XNIO-58 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.336 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@479e93c
18:09:09.340 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@bee9a9a
18:09:09.343 [XNIO-59 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-1', selector sun.nio.ch.EPollSelectorImpl@46673c4b
18:09:09.344 [XNIO-59 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-2', selector sun.nio.ch.EPollSelectorImpl@442f335d
18:09:09.344 [XNIO-59 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-3', selector sun.nio.ch.EPollSelectorImpl@70bcb77e
18:09:09.347 [XNIO-59 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-4', selector sun.nio.ch.EPollSelectorImpl@17de59c8
18:09:09.347 [XNIO-59 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5156261f
18:09:09.347 [XNIO-59 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1d176afe
18:09:09.348 [XNIO-59 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4bb6c1b9
18:09:09.351 [XNIO-59 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6de62b90
18:09:09.351 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.351 [XNIO-59 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-59 Accept', selector sun.nio.ch.EPollSelectorImpl@5eeeb2f8
18:09:09.352 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.366 [XNIO-59 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /charlie (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43293]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.368 [XNIO-59 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.380 [XNIO-59 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /charlie (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43293]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.387 [XNIO-59 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.390 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@bee9a9a
18:09:09.399 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4a630d2e
18:09:09.401 [XNIO-60 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4809bff0
18:09:09.401 [XNIO-59 task-2] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ POST /charlie request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43293]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[text/plain], Content-Length=[27], Date=[Sat, 10 Aug 2019 23:09:03 GMT]}}
java.lang.NullPointerException: null
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:427)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
18:09:09.407 [XNIO-60 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-2', selector sun.nio.ch.EPollSelectorImpl@21b53057
18:09:09.407 [XNIO-60 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-4', selector sun.nio.ch.EPollSelectorImpl@41151f7a
18:09:09.407 [XNIO-60 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-3', selector sun.nio.ch.EPollSelectorImpl@40695628
18:09:09.408 [XNIO-60 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-5', selector sun.nio.ch.EPollSelectorImpl@13d47fbf
18:09:09.411 [XNIO-60 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-6', selector sun.nio.ch.EPollSelectorImpl@cc56d23
18:09:09.414 [XNIO-60 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-8', selector sun.nio.ch.EPollSelectorImpl@743f2219
18:09:09.414 [XNIO-60 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1a43d35e
18:09:09.415 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.415 [XNIO-60 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-60 Accept', selector sun.nio.ch.EPollSelectorImpl@1c2b049e
18:09:09.416 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.427 [XNIO-60 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /charlie (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], hat=[fedora], Host=[localhost:36935]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.431 [XNIO-60 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.446 [XNIO-60 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /charlie (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], hat=[fedora], Host=[localhost:36935]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.447 [XNIO-60 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.448 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4a630d2e
18:09:09.455 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@475f4f15
18:09:09.457 [XNIO-61 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-1', selector sun.nio.ch.EPollSelectorImpl@51154f17
18:09:09.459 [XNIO-61 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-2', selector sun.nio.ch.EPollSelectorImpl@45f4f554
18:09:09.462 [XNIO-61 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-5', selector sun.nio.ch.EPollSelectorImpl@43694628
18:09:09.463 [XNIO-61 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2ef4404b
18:09:09.462 [XNIO-61 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-3', selector sun.nio.ch.EPollSelectorImpl@78b01804
18:09:09.463 [XNIO-61 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-7', selector sun.nio.ch.EPollSelectorImpl@51738488
18:09:09.464 [XNIO-61 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-8', selector sun.nio.ch.EPollSelectorImpl@11eff032
18:09:09.462 [XNIO-61 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 I/O-4', selector sun.nio.ch.EPollSelectorImpl@c4b684e
18:09:09.472 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.473 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.475 [XNIO-61 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-61 Accept', selector sun.nio.ch.EPollSelectorImpl@7b68df0c
18:09:09.483 [XNIO-61 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /chars (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[text/plain; charset=utf-8], Content-Length=[24], User-Agent=[okhttp/3.5.0], Host=[localhost:37353]}, cookies=[:]): This is some plain text. }
18:09:09.488 [XNIO-61 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:09.489 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@475f4f15
18:09:09.493 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4f19245f
18:09:09.494 [XNIO-62 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-1', selector sun.nio.ch.EPollSelectorImpl@77419483
18:09:09.499 [XNIO-62 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6edce40b
18:09:09.499 [XNIO-62 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1a2e9b12
18:09:09.495 [XNIO-62 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7f725a14
18:09:09.500 [XNIO-62 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-4', selector sun.nio.ch.EPollSelectorImpl@63e97e6d
18:09:09.503 [XNIO-62 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-7', selector sun.nio.ch.EPollSelectorImpl@77e8da02
18:09:09.507 [XNIO-62 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-8', selector sun.nio.ch.EPollSelectorImpl@72c6bb94
18:09:09.507 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.507 [XNIO-62 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 Accept', selector sun.nio.ch.EPollSelectorImpl@76cb1128
18:09:09.507 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.499 [XNIO-62 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-62 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6c84f7b5
18:09:09.583 [XNIO-62 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /chars (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[text/plain; charset=utf-8], Content-Length=[24], User-Agent=[okhttp/3.5.0], Host=[localhost:37089]}, cookies=[:]): This is some plain text. }
18:09:09.584 [XNIO-62 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:09.585 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4f19245f
18:09:09.594 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@a262859
18:09:09.596 [XNIO-63 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2d602b7e
18:09:09.607 [XNIO-63 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-2', selector sun.nio.ch.EPollSelectorImpl@759787dc
18:09:09.607 [XNIO-63 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-5', selector sun.nio.ch.EPollSelectorImpl@79555ebe
18:09:09.607 [XNIO-63 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-3', selector sun.nio.ch.EPollSelectorImpl@77a715a7
18:09:09.609 [XNIO-63 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4d97a9a7
18:09:09.609 [XNIO-63 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-7', selector sun.nio.ch.EPollSelectorImpl@48a01480
18:09:09.610 [XNIO-63 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-8', selector sun.nio.ch.EPollSelectorImpl@379b722d
18:09:09.620 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.620 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.621 [XNIO-62 task-3] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:170)
	at ersatz.undertow.protocols.ssl.SslConduit.doWrap(SslConduit.java:892)
	at ersatz.undertow.protocols.ssl.SslConduit.write(SslConduit.java:371)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:242)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.flush(HttpResponseConduit.java:739)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.flush(AbstractFixedLengthStreamSinkConduit.java:229)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:164)
		... 24 common frames omitted
18:09:09.607 [XNIO-63 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 I/O-4', selector sun.nio.ch.EPollSelectorImpl@22940640
18:09:09.620 [XNIO-63 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-63 Accept', selector sun.nio.ch.EPollSelectorImpl@3544e9
18:09:09.637 [XNIO-63 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:40017]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.639 [XNIO-63 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:09.659 [XNIO-63 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:40017]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.661 [XNIO-63 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:09.663 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@a262859
18:09:09.667 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4c388b33
18:09:09.673 [XNIO-64 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-1', selector sun.nio.ch.EPollSelectorImpl@35f4bb96
18:09:09.675 [XNIO-64 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-2', selector sun.nio.ch.EPollSelectorImpl@21b7fb91
18:09:09.678 [XNIO-64 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-3', selector sun.nio.ch.EPollSelectorImpl@74b5be1b
18:09:09.681 [XNIO-64 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-6', selector sun.nio.ch.EPollSelectorImpl@3c1e0161
18:09:09.683 [XNIO-64 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1d95181b
18:09:09.683 [XNIO-64 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1e5b064
18:09:09.679 [XNIO-64 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6ce1a0a9
18:09:09.687 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.687 [XNIO-64 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 Accept', selector sun.nio.ch.EPollSelectorImpl@35a955e9
18:09:09.689 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.681 [XNIO-64 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-64 I/O-5', selector sun.nio.ch.EPollSelectorImpl@d7febb0
18:09:09.716 [XNIO-64 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37237]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.718 [XNIO-64 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:09.741 [XNIO-64 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37237]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:09.743 [XNIO-64 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:09.745 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4c388b33
18:09:09.751 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7b38f750
18:09:09.775 [XNIO-65 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4dfed7bf
18:09:09.783 [XNIO-65 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-2', selector sun.nio.ch.EPollSelectorImpl@53db03f6
18:09:09.787 [XNIO-65 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6d4fb369
18:09:09.792 [XNIO-65 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6fbe27e0
18:09:09.797 [XNIO-65 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3ad8c923
18:09:09.798 [XNIO-65 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-7', selector sun.nio.ch.EPollSelectorImpl@48e1c980
18:09:09.800 [XNIO-65 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2c1a4452
18:09:09.805 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.797 [XNIO-65 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 I/O-6', selector sun.nio.ch.EPollSelectorImpl@da4b75
18:09:09.805 [XNIO-65 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-65 Accept', selector sun.nio.ch.EPollSelectorImpl@1874c40e
18:09:09.806 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.815 [XNIO-65 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=chocolate-chip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38933]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@266e76cc]): {"alpha":"bravo","charlie":42} }
18:09:09.817 [XNIO-65 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:09.833 [XNIO-65 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=chocolate-chip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38933]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@74b7c3c6]): {"alpha":"bravo","charlie":42} }
18:09:09.835 [XNIO-65 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:09.836 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7b38f750
18:09:09.838 [XNIO-65 task-2] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ POST /delta request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=chocolate-chip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38933]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[text/date], Content-Length=[36], Date=[Sat, 10 Aug 2019 23:09:03 GMT]}}
java.lang.NullPointerException: null
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:427)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
18:09:09.842 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@25eabbc1
18:09:09.855 [XNIO-66 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-1', selector sun.nio.ch.EPollSelectorImpl@14200cab
18:09:09.865 [XNIO-66 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-2', selector sun.nio.ch.EPollSelectorImpl@1c1df470
18:09:09.868 [XNIO-66 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-3', selector sun.nio.ch.EPollSelectorImpl@25719433
18:09:09.891 [XNIO-66 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-4', selector sun.nio.ch.EPollSelectorImpl@28dd22b5
18:09:09.903 [XNIO-66 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-5', selector sun.nio.ch.EPollSelectorImpl@d089e
18:09:09.904 [XNIO-66 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5187baf7
18:09:09.927 [XNIO-66 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1e59333a
18:09:09.929 [XNIO-66 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2b2066e
18:09:09.945 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:09.945 [XNIO-66 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-66 Accept', selector sun.nio.ch.EPollSelectorImpl@72cbcb51
18:09:09.946 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:09.977 [XNIO-66 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=chocolate-chip; count=dozen], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42895]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@1fd20c2b, flavor:ersatz.undertow.server.handlers.CookieImpl@1115e1a1]): {"alpha":"bravo","charlie":42} }
18:09:09.979 [XNIO-66 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.003 [XNIO-66 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=chocolate-chip; count=dozen], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42895]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@6c87c943, flavor:ersatz.undertow.server.handlers.CookieImpl@62403aa3]): {"alpha":"bravo","charlie":42} }
18:09:10.006 [XNIO-66 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.008 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@25eabbc1
18:09:10.012 [XNIO-66 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:190)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:511)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
		... 25 common frames omitted
18:09:10.018 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@50d910e3
18:09:10.020 [XNIO-67 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2b7e2e3f
18:09:10.022 [XNIO-67 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-2', selector sun.nio.ch.EPollSelectorImpl@41f196f6
18:09:10.023 [XNIO-67 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5b208599
18:09:10.025 [XNIO-67 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-4', selector sun.nio.ch.EPollSelectorImpl@fddc221
18:09:10.051 [XNIO-67 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-5', selector sun.nio.ch.EPollSelectorImpl@122048c5
18:09:10.059 [XNIO-67 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-6', selector sun.nio.ch.EPollSelectorImpl@48099be
18:09:10.066 [XNIO-67 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-7', selector sun.nio.ch.EPollSelectorImpl@40e84bfe
18:09:10.084 [XNIO-67 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 I/O-8', selector sun.nio.ch.EPollSelectorImpl@27203634
18:09:10.096 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.097 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.107 [XNIO-67 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-67 Accept', selector sun.nio.ch.EPollSelectorImpl@a45aa21
18:09:10.135 [XNIO-67 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43809]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.139 [XNIO-67 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.153 [XNIO-67 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43809]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.155 [XNIO-67 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.157 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@50d910e3
18:09:10.160 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@2045c7d5
18:09:10.176 [XNIO-68 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7f59201b
18:09:10.187 [XNIO-68 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-3', selector sun.nio.ch.EPollSelectorImpl@69ed4d3c
18:09:10.202 [XNIO-68 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6a085edd
18:09:10.177 [XNIO-68 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-1', selector sun.nio.ch.EPollSelectorImpl@f0d6d1c
18:09:10.213 [XNIO-68 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5066b428
18:09:10.215 [XNIO-68 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1cede0fe
18:09:10.215 [XNIO-68 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-7', selector sun.nio.ch.EPollSelectorImpl@c1b9121
18:09:10.219 [XNIO-68 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 I/O-8', selector sun.nio.ch.EPollSelectorImpl@3bd65ee6
18:09:10.221 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.222 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.231 [XNIO-68 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-68 Accept', selector sun.nio.ch.EPollSelectorImpl@29dbfe3c
18:09:10.236 [XNIO-68 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:46047]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.240 [XNIO-68 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.255 [XNIO-68 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:46047]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.256 [XNIO-68 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.258 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@2045c7d5
18:09:10.261 [XNIO-68 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:190)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:511)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
		... 25 common frames omitted
18:09:10.262 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6df27a9a
18:09:10.267 [XNIO-69 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-1', selector sun.nio.ch.EPollSelectorImpl@43faf842
18:09:10.267 [XNIO-69 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-2', selector sun.nio.ch.EPollSelectorImpl@490f2eff
18:09:10.267 [XNIO-69 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-3', selector sun.nio.ch.EPollSelectorImpl@180c0e8
18:09:10.268 [XNIO-69 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-4', selector sun.nio.ch.EPollSelectorImpl@d8af5bc
18:09:10.270 [XNIO-69 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-5', selector sun.nio.ch.EPollSelectorImpl@1232a315
18:09:10.271 [XNIO-69 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-6', selector sun.nio.ch.EPollSelectorImpl@43fa68e7
18:09:10.271 [XNIO-69 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-7', selector sun.nio.ch.EPollSelectorImpl@5ea01d38
18:09:10.275 [XNIO-69 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1d39423c
18:09:10.287 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.287 [XNIO-69 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-69 Accept', selector sun.nio.ch.EPollSelectorImpl@4826be63
18:09:10.287 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.315 [XNIO-69 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=peanut-butter], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:34765]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@5494963e]): {"alpha":"bravo","charlie":42} }
18:09:10.317 [XNIO-69 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.323 [XNIO-69 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=peanut-butter], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:34765]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@3185a55a]): {"alpha":"bravo","charlie":42} }
18:09:10.325 [XNIO-69 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.327 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6df27a9a
18:09:10.330 [XNIO-69 task-2] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ POST /delta request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=peanut-butter], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:34765]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[text/date], Content-Length=[36], Date=[Sat, 10 Aug 2019 23:09:03 GMT]}}
java.lang.NullPointerException: null
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:427)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
18:09:10.334 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@61688aed
18:09:10.341 [XNIO-70 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2a9756c0
18:09:10.351 [XNIO-70 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-2', selector sun.nio.ch.EPollSelectorImpl@145e6180
18:09:10.353 [XNIO-70 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-3', selector sun.nio.ch.EPollSelectorImpl@7c723b25
18:09:10.354 [XNIO-70 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4628781f
18:09:10.355 [XNIO-70 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5083d4b1
18:09:10.355 [XNIO-70 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1265555c
18:09:10.357 [XNIO-70 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-7', selector sun.nio.ch.EPollSelectorImpl@600764f1
18:09:10.359 [XNIO-70 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 I/O-8', selector sun.nio.ch.EPollSelectorImpl@10ff6cc
18:09:10.363 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.363 [XNIO-70 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-70 Accept', selector sun.nio.ch.EPollSelectorImpl@44bd90e7
18:09:10.367 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.377 [XNIO-70 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=oatmeal; count=dozen], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41989]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@6e696011, flavor:ersatz.undertow.server.handlers.CookieImpl@60ae93ac]): {"alpha":"bravo","charlie":42} }
18:09:10.383 [XNIO-70 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.391 [XNIO-70 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /delta (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Cookie=[flavor=oatmeal; count=dozen], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41989]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@3dc8c98a, flavor:ersatz.undertow.server.handlers.CookieImpl@330f3043]): {"alpha":"bravo","charlie":42} }
18:09:10.399 [XNIO-70 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:10.401 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@61688aed
18:09:10.403 [XNIO-70 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:190)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:511)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
		... 25 common frames omitted
18:09:10.408 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@33150cfd
18:09:10.411 [XNIO-71 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4aacd00
18:09:10.420 [XNIO-71 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5d5bc26
18:09:10.423 [XNIO-71 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-3', selector sun.nio.ch.EPollSelectorImpl@7e461275
18:09:10.433 [XNIO-71 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-4', selector sun.nio.ch.EPollSelectorImpl@79f40e72
18:09:10.441 [XNIO-71 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-7', selector sun.nio.ch.EPollSelectorImpl@42ae494f
18:09:10.443 [XNIO-71 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-5', selector sun.nio.ch.EPollSelectorImpl@43be7490
18:09:10.441 [XNIO-71 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-6', selector sun.nio.ch.EPollSelectorImpl@56c7cefd
18:09:10.443 [XNIO-71 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4a42c5d7
18:09:10.447 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.447 [XNIO-71 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-71 Accept', selector sun.nio.ch.EPollSelectorImpl@5b693e9c
18:09:10.448 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.466 [XNIO-71 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37741]} response {}}
18:09:10.466 [XNIO-71 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.466 [XNIO-71 task-1] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37741]} response {}}
18:09:10.466 [XNIO-71 task-1] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.466 [XNIO-71 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@5f4462d0 for /basic
18:09:10.467 [XNIO-71 task-1] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:10.467 [XNIO-71 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /basic (query=[:], headers={Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37741]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.468 [XNIO-71 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:10.475 [XNIO-71 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37741]} response {}}
18:09:10.475 [XNIO-71 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.475 [XNIO-71 task-2] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37741]} response {}}
18:09:10.475 [XNIO-71 task-2] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.475 [XNIO-71 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@5f4462d0 for /basic
18:09:10.475 [XNIO-71 task-2] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:10.475 [XNIO-71 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /basic (query=[:], headers={Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37741]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.477 [XNIO-71 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:10.478 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@33150cfd
18:09:10.483 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@3dccd409
18:09:10.485 [XNIO-71 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:190)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:250)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:596)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired(DeflatingStreamSinkConduit.java:419)
	at ersatz.undertow.conduits.DeflatingStreamSinkConduit.flush(DeflatingStreamSinkConduit.java:349)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
	at ersatz.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
	at ersatz.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at ersatz.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:511)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
		... 29 common frames omitted
18:09:10.492 [XNIO-72 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6763bb7
18:09:10.493 [XNIO-72 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5db7ab6f
18:09:10.493 [XNIO-72 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-6', selector sun.nio.ch.EPollSelectorImpl@425c8e0e
18:09:10.511 [XNIO-72 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-7', selector sun.nio.ch.EPollSelectorImpl@14ed3a3e
18:09:10.492 [XNIO-72 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-1', selector sun.nio.ch.EPollSelectorImpl@33b02b42
18:09:10.523 [XNIO-72 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-8', selector sun.nio.ch.EPollSelectorImpl@ae9ae84
18:09:10.525 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.525 [XNIO-72 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 Accept', selector sun.nio.ch.EPollSelectorImpl@1e76d09f
18:09:10.526 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.493 [XNIO-72 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-3', selector sun.nio.ch.EPollSelectorImpl@18cd01c2
18:09:10.493 [XNIO-72 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-72 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4a968a04
18:09:10.596 [XNIO-72 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35245]} response {}}
18:09:10.596 [XNIO-72 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.596 [XNIO-72 task-3] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35245]} response {}}
18:09:10.596 [XNIO-72 task-3] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.596 [XNIO-72 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@17a05f06 for /basic
18:09:10.596 [XNIO-72 task-3] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:10.596 [XNIO-72 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /basic (query=[:], headers={Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35245]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.598 [XNIO-72 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:10.605 [XNIO-72 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35245]} response {}}
18:09:10.606 [XNIO-72 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.606 [XNIO-72 task-4] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35245]} response {}}
18:09:10.606 [XNIO-72 task-4] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.606 [XNIO-72 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@17a05f06 for /basic
18:09:10.606 [XNIO-72 task-4] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:10.606 [XNIO-72 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /basic (query=[:], headers={Connection=[Keep-Alive], Authorization=[Basic YWRtaW46JDNjcjN0], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35245]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.607 [XNIO-72 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:10.609 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@3dccd409
18:09:10.617 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@a1fb36f
18:09:10.619 [XNIO-73 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-2', selector sun.nio.ch.EPollSelectorImpl@357e9e95
18:09:10.619 [XNIO-73 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-1', selector sun.nio.ch.EPollSelectorImpl@6f8b5226
18:09:10.622 [XNIO-73 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-3', selector sun.nio.ch.EPollSelectorImpl@8c25cb2
18:09:10.627 [XNIO-73 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1827824b
18:09:10.632 [XNIO-73 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-5', selector sun.nio.ch.EPollSelectorImpl@53440427
18:09:10.635 [XNIO-73 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-6', selector sun.nio.ch.EPollSelectorImpl@70c6e7a6
18:09:10.636 [XNIO-73 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-8', selector sun.nio.ch.EPollSelectorImpl@3318097d
18:09:10.636 [XNIO-73 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 I/O-7', selector sun.nio.ch.EPollSelectorImpl@5f49267b
18:09:10.637 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.637 [XNIO-73 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-73 Accept', selector sun.nio.ch.EPollSelectorImpl@3bec5e9f
18:09:10.637 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.644 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@2bdcdc75 for /basic
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:10.645 [XNIO-73 task-1] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@2bdcdc75 for /basic
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {}}
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36527]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:10.652 [XNIO-73 task-2] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:10.654 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@a1fb36f
18:09:10.658 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@740a985e
18:09:10.662 [XNIO-74 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-1', selector sun.nio.ch.EPollSelectorImpl@38f08a92
18:09:10.663 [XNIO-74 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-4', selector sun.nio.ch.EPollSelectorImpl@86814cc
18:09:10.662 [XNIO-74 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-3', selector sun.nio.ch.EPollSelectorImpl@f77a1cc
18:09:10.686 [XNIO-74 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-5', selector sun.nio.ch.EPollSelectorImpl@30d3207b
18:09:10.662 [XNIO-74 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-2', selector sun.nio.ch.EPollSelectorImpl@18d106ab
18:09:10.689 [XNIO-74 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-7', selector sun.nio.ch.EPollSelectorImpl@d094af6
18:09:10.690 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.686 [XNIO-74 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4549cc9e
18:09:10.690 [XNIO-74 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1343f727
18:09:10.690 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.690 [XNIO-74 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-74 Accept', selector sun.nio.ch.EPollSelectorImpl@212f4a38
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@4c0b4e85 for /basic
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:10.750 [XNIO-74 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:10.754 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.754 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:10.754 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.755 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.755 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@4c0b4e85 for /basic
18:09:10.755 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {}}
18:09:10.755 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ POST /basic request {Connection=[Keep-Alive], Authorization=[Basic Z3Vlc3Q6YmxhaA==], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38217]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:10.755 [XNIO-74 task-4] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:10.756 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@740a985e
18:09:10.762 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1d853913
18:09:10.763 [XNIO-75 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-1', selector sun.nio.ch.EPollSelectorImpl@17248245
18:09:10.763 [XNIO-75 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-2', selector sun.nio.ch.EPollSelectorImpl@f288232
18:09:10.763 [XNIO-75 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-3', selector sun.nio.ch.EPollSelectorImpl@73106b8b
18:09:10.765 [XNIO-75 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6553447e
18:09:10.767 [XNIO-75 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-5', selector sun.nio.ch.EPollSelectorImpl@af8d3ef
18:09:10.772 [XNIO-75 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-6', selector sun.nio.ch.EPollSelectorImpl@79661e95
18:09:10.772 [XNIO-75 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1706602e
18:09:10.772 [XNIO-75 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7f5f132c
18:09:10.775 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.775 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.775 [XNIO-75 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-75 Accept', selector sun.nio.ch.EPollSelectorImpl@159da990
18:09:10.786 [XNIO-75 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]} response {}}
18:09:10.787 [XNIO-75 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.787 [XNIO-75 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6f0c5f35 for /digest
18:09:10.787 [XNIO-75 task-1] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]} response {}}
18:09:10.787 [XNIO-75 task-1] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.791 [XNIO-75 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="f5cd6c5b2e5a0fa0b7475507fdc29ff6", qop=auth, nc=00000001, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]} response {}}
18:09:10.791 [XNIO-75 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.791 [XNIO-75 task-2] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="f5cd6c5b2e5a0fa0b7475507fdc29ff6", qop=auth, nc=00000001, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="f5cd6c5b2e5a0fa0b7475507fdc29ff6", qop=auth, nc=00000001, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]} response {}}
18:09:10.792 [XNIO-75 task-2] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.792 [XNIO-75 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6f0c5f35 for /digest
18:09:10.792 [XNIO-75 task-2] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:10.792 [XNIO-75 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="f5cd6c5b2e5a0fa0b7475507fdc29ff6", qop=auth, nc=00000001, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.792 [XNIO-75 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=",qop="auth",rspauth="f7bfa7ae803bce6656aef318a9fc7190",cnonce="f6404a10c1aa3f1c",nc=00000001], Content-Type=[text/plain]}): ok-text
18:09:10.799 [XNIO-75 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="9bb4e02c33bb26b260fd68f7a34b681b", qop=auth, nc=00000002, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]} response {}}
18:09:10.799 [XNIO-75 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.799 [XNIO-75 task-3] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="9bb4e02c33bb26b260fd68f7a34b681b", qop=auth, nc=00000002, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="9bb4e02c33bb26b260fd68f7a34b681b", qop=auth, nc=00000002, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]} response {}}
18:09:10.800 [XNIO-75 task-3] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.800 [XNIO-75 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6f0c5f35 for /digest
18:09:10.801 [XNIO-75 task-3] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:10.801 [XNIO-75 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=", uri="/digest", response="9bb4e02c33bb26b260fd68f7a34b681b", qop=auth, nc=00000002, cnonce="f6404a10c1aa3f1c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39549]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.801 [XNIO-75 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="IxuBoe0q7CENMTU2NTQ3ODU1MDc4NzAhyMLlIJAyg2R/EzXfox0=",qop="auth",rspauth="5abab3f6eb8f370b9203c7e222745018",cnonce="f6404a10c1aa3f1c",nc=00000002], Content-Type=[text/plain]}): ok-text
18:09:10.803 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1d853913
18:09:10.806 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@453557d5
18:09:10.808 [XNIO-76 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-2', selector sun.nio.ch.EPollSelectorImpl@38d67845
18:09:10.808 [XNIO-76 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-3', selector sun.nio.ch.EPollSelectorImpl@39a44d93
18:09:10.808 [XNIO-76 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-1', selector sun.nio.ch.EPollSelectorImpl@32463231
18:09:10.808 [XNIO-76 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-4', selector sun.nio.ch.EPollSelectorImpl@7abe1838
18:09:10.808 [XNIO-76 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-5', selector sun.nio.ch.EPollSelectorImpl@78964d09
18:09:10.809 [XNIO-76 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-6', selector sun.nio.ch.EPollSelectorImpl@68a3c129
18:09:10.809 [XNIO-76 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-7', selector sun.nio.ch.EPollSelectorImpl@36483ee1
18:09:10.811 [XNIO-76 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2869e78d
18:09:10.815 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.815 [XNIO-76 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-76 Accept', selector sun.nio.ch.EPollSelectorImpl@2f1f5d4b
18:09:10.815 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.873 [XNIO-76 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]} response {}}
18:09:10.873 [XNIO-76 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.873 [XNIO-76 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@483b5313 for /digest
18:09:10.873 [XNIO-76 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]} response {}}
18:09:10.874 [XNIO-76 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.879 [XNIO-76 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="e61043edd40caf90e16812ba70f868c4", qop=auth, nc=00000001, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]} response {}}
18:09:10.879 [XNIO-76 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.880 [XNIO-76 task-4] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="e61043edd40caf90e16812ba70f868c4", qop=auth, nc=00000001, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="e61043edd40caf90e16812ba70f868c4", qop=auth, nc=00000001, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]} response {}}
18:09:10.881 [XNIO-76 task-4] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.881 [XNIO-76 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@483b5313 for /digest
18:09:10.881 [XNIO-76 task-4] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:10.881 [XNIO-76 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="e61043edd40caf90e16812ba70f868c4", qop=auth, nc=00000001, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.882 [XNIO-76 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=",qop="auth",rspauth="c2c603b06f07ec8c2de7efd5c26fc2cb",cnonce="e258bd30b142c7ce",nc=00000001], Content-Type=[text/plain]}): ok-text
18:09:10.886 [XNIO-76 task-5] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="2358a08a3e475f475b61593509b491a1", qop=auth, nc=00000002, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]} response {}}
18:09:10.886 [XNIO-76 task-5] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.887 [XNIO-76 task-5] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="2358a08a3e475f475b61593509b491a1", qop=auth, nc=00000002, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="2358a08a3e475f475b61593509b491a1", qop=auth, nc=00000002, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]} response {}}
18:09:10.888 [XNIO-76 task-5] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:10.888 [XNIO-76 task-5] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@483b5313 for /digest
18:09:10.888 [XNIO-76 task-5] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:10.888 [XNIO-76 task-5] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=", uri="/digest", response="2358a08a3e475f475b61593509b491a1", qop=auth, nc=00000002, cnonce="e258bd30b142c7ce", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43373]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:10.889 [XNIO-76 task-5] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="EGuegwW9jvcNMTU2NTQ3ODU1MDg3NJXgQE7MF0++2BwfJEzPHBU=",qop="auth",rspauth="dd27f3d8e287d8dd3a3c8192df818847",cnonce="e258bd30b142c7ce",nc=00000002], Content-Type=[text/plain]}): ok-text
18:09:10.890 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@453557d5
18:09:10.896 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1b6772cc
18:09:10.898 [XNIO-77 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-2', selector sun.nio.ch.EPollSelectorImpl@150120b
18:09:10.898 [XNIO-77 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-3', selector sun.nio.ch.EPollSelectorImpl@264de67b
18:09:10.898 [XNIO-77 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-1', selector sun.nio.ch.EPollSelectorImpl@198bde4c
18:09:10.898 [XNIO-77 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-4', selector sun.nio.ch.EPollSelectorImpl@62c28c51
18:09:10.899 [XNIO-77 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-5', selector sun.nio.ch.EPollSelectorImpl@14fdd058
18:09:10.906 [XNIO-77 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7cab09e2
18:09:10.906 [XNIO-77 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-7', selector sun.nio.ch.EPollSelectorImpl@7b9126
18:09:10.906 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.906 [XNIO-77 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 Accept', selector sun.nio.ch.EPollSelectorImpl@972417e
18:09:10.906 [XNIO-77 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-77 I/O-8', selector sun.nio.ch.EPollSelectorImpl@67eeee4d
18:09:10.907 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:10.911 [XNIO-77 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.912 [XNIO-77 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.912 [XNIO-77 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@37d30faf for /digest
18:09:10.912 [XNIO-77 task-1] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.912 [XNIO-77 task-1] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.914 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WUWK6Rp2kKANMTU2NTQ3ODU1MDkxMqbQnnp9VesMcrmLSICPiW4=", uri="/digest", response="1565e8963afd4858996489495ae776a3", qop=auth, nc=00000001, cnonce="39ddd9e05411815a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.914 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.915 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="WUWK6Rp2kKANMTU2NTQ3ODU1MDkxMqbQnnp9VesMcrmLSICPiW4=", uri="/digest", response="1565e8963afd4858996489495ae776a3", qop=auth, nc=00000001, cnonce="39ddd9e05411815a", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WUWK6Rp2kKANMTU2NTQ3ODU1MDkxMqbQnnp9VesMcrmLSICPiW4=", uri="/digest", response="1565e8963afd4858996489495ae776a3", qop=auth, nc=00000001, cnonce="39ddd9e05411815a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.915 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WUWK6Rp2kKANMTU2NTQ3ODU1MDkxMqbQnnp9VesMcrmLSICPiW4=", uri="/digest", response="1565e8963afd4858996489495ae776a3", qop=auth, nc=00000001, cnonce="39ddd9e05411815a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.915 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@37d30faf for /digest
18:09:10.915 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WUWK6Rp2kKANMTU2NTQ3ODU1MDkxMqbQnnp9VesMcrmLSICPiW4=", uri="/digest", response="1565e8963afd4858996489495ae776a3", qop=auth, nc=00000001, cnonce="39ddd9e05411815a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.915 [XNIO-77 task-2] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.921 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="KUfGffdPebYNMTU2NTQ3ODU1MDkxNf6PlJUthxDyOrhWk9c5LeE=", uri="/digest", response="baf964d1c55d104741dae4afdd76123c", qop=auth, nc=00000001, cnonce="e809fc77fdc23093", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.922 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.922 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="KUfGffdPebYNMTU2NTQ3ODU1MDkxNf6PlJUthxDyOrhWk9c5LeE=", uri="/digest", response="baf964d1c55d104741dae4afdd76123c", qop=auth, nc=00000001, cnonce="e809fc77fdc23093", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="KUfGffdPebYNMTU2NTQ3ODU1MDkxNf6PlJUthxDyOrhWk9c5LeE=", uri="/digest", response="baf964d1c55d104741dae4afdd76123c", qop=auth, nc=00000001, cnonce="e809fc77fdc23093", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.922 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="KUfGffdPebYNMTU2NTQ3ODU1MDkxNf6PlJUthxDyOrhWk9c5LeE=", uri="/digest", response="baf964d1c55d104741dae4afdd76123c", qop=auth, nc=00000001, cnonce="e809fc77fdc23093", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.922 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@37d30faf for /digest
18:09:10.922 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="KUfGffdPebYNMTU2NTQ3ODU1MDkxNf6PlJUthxDyOrhWk9c5LeE=", uri="/digest", response="baf964d1c55d104741dae4afdd76123c", qop=auth, nc=00000001, cnonce="e809fc77fdc23093", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.922 [XNIO-77 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.927 [XNIO-77 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.927 [XNIO-77 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.927 [XNIO-77 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@37d30faf for /digest
18:09:10.927 [XNIO-77 task-4] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.927 [XNIO-77 task-4] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.930 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="l5ELj+K8csENMTU2NTQ3ODU1MDkyNxjJ/Sv4pW2vzroMjFbWP58=", uri="/digest", response="3dfbfee1a7c21a96ef5af98b19f0d017", qop=auth, nc=00000001, cnonce="0899da83ca55dc51", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.930 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:10.930 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="l5ELj+K8csENMTU2NTQ3ODU1MDkyNxjJ/Sv4pW2vzroMjFbWP58=", uri="/digest", response="3dfbfee1a7c21a96ef5af98b19f0d017", qop=auth, nc=00000001, cnonce="0899da83ca55dc51", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="l5ELj+K8csENMTU2NTQ3ODU1MDkyNxjJ/Sv4pW2vzroMjFbWP58=", uri="/digest", response="3dfbfee1a7c21a96ef5af98b19f0d017", qop=auth, nc=00000001, cnonce="0899da83ca55dc51", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.930 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="l5ELj+K8csENMTU2NTQ3ODU1MDkyNxjJ/Sv4pW2vzroMjFbWP58=", uri="/digest", response="3dfbfee1a7c21a96ef5af98b19f0d017", qop=auth, nc=00000001, cnonce="0899da83ca55dc51", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.930 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@37d30faf for /digest
18:09:10.931 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="l5ELj+K8csENMTU2NTQ3ODU1MDkyNxjJ/Sv4pW2vzroMjFbWP58=", uri="/digest", response="3dfbfee1a7c21a96ef5af98b19f0d017", qop=auth, nc=00000001, cnonce="0899da83ca55dc51", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:41791]} response {}}
18:09:10.931 [XNIO-77 task-5] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:10.933 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1b6772cc
18:09:10.937 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@260e0d26
18:09:10.938 [XNIO-78 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2ff2a8c
18:09:10.939 [XNIO-78 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-2', selector sun.nio.ch.EPollSelectorImpl@14ba00f7
18:09:10.939 [XNIO-78 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-3', selector sun.nio.ch.EPollSelectorImpl@13343a57
18:09:10.939 [XNIO-78 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-4', selector sun.nio.ch.EPollSelectorImpl@47d46fad
18:09:10.941 [XNIO-78 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-6', selector sun.nio.ch.EPollSelectorImpl@763c7363
18:09:10.941 [XNIO-78 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4810bf4d
18:09:10.943 [XNIO-78 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-8', selector sun.nio.ch.EPollSelectorImpl@54e8903f
18:09:10.943 [XNIO-78 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 I/O-7', selector sun.nio.ch.EPollSelectorImpl@142e490e
18:09:10.947 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:10.947 [XNIO-78 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-78 Accept', selector sun.nio.ch.EPollSelectorImpl@575c07e9
18:09:10.947 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.007 [XNIO-78 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.008 [XNIO-78 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:11.008 [XNIO-78 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6b3dd079 for /digest
18:09:11.008 [XNIO-78 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.008 [XNIO-78 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:11.013 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="9Z9dgrtyUw0NMTU2NTQ3ODU1MTAwOP4N4vhabGFqp6cVswkRZdk=", uri="/digest", response="56e2dab60a94ad39e932436369d625bd", qop=auth, nc=00000001, cnonce="4d15213f94f28d75", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.013 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:11.013 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="9Z9dgrtyUw0NMTU2NTQ3ODU1MTAwOP4N4vhabGFqp6cVswkRZdk=", uri="/digest", response="56e2dab60a94ad39e932436369d625bd", qop=auth, nc=00000001, cnonce="4d15213f94f28d75", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="9Z9dgrtyUw0NMTU2NTQ3ODU1MTAwOP4N4vhabGFqp6cVswkRZdk=", uri="/digest", response="56e2dab60a94ad39e932436369d625bd", qop=auth, nc=00000001, cnonce="4d15213f94f28d75", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.013 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="9Z9dgrtyUw0NMTU2NTQ3ODU1MTAwOP4N4vhabGFqp6cVswkRZdk=", uri="/digest", response="56e2dab60a94ad39e932436369d625bd", qop=auth, nc=00000001, cnonce="4d15213f94f28d75", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.013 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6b3dd079 for /digest
18:09:11.013 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="9Z9dgrtyUw0NMTU2NTQ3ODU1MTAwOP4N4vhabGFqp6cVswkRZdk=", uri="/digest", response="56e2dab60a94ad39e932436369d625bd", qop=auth, nc=00000001, cnonce="4d15213f94f28d75", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.014 [XNIO-78 task-4] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:11.019 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="kY5dlMeOOrkNMTU2NTQ3ODU1MTAxM1HGXG+nlRSIu4JXRRme4P0=", uri="/digest", response="a4178dfdb3e5dad19229ee8418cb8f6d", qop=auth, nc=00000001, cnonce="50f4ec5134f1502c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.019 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:11.019 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="kY5dlMeOOrkNMTU2NTQ3ODU1MTAxM1HGXG+nlRSIu4JXRRme4P0=", uri="/digest", response="a4178dfdb3e5dad19229ee8418cb8f6d", qop=auth, nc=00000001, cnonce="50f4ec5134f1502c", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="kY5dlMeOOrkNMTU2NTQ3ODU1MTAxM1HGXG+nlRSIu4JXRRme4P0=", uri="/digest", response="a4178dfdb3e5dad19229ee8418cb8f6d", qop=auth, nc=00000001, cnonce="50f4ec5134f1502c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.020 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="kY5dlMeOOrkNMTU2NTQ3ODU1MTAxM1HGXG+nlRSIu4JXRRme4P0=", uri="/digest", response="a4178dfdb3e5dad19229ee8418cb8f6d", qop=auth, nc=00000001, cnonce="50f4ec5134f1502c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.020 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6b3dd079 for /digest
18:09:11.020 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="kY5dlMeOOrkNMTU2NTQ3ODU1MTAxM1HGXG+nlRSIu4JXRRme4P0=", uri="/digest", response="a4178dfdb3e5dad19229ee8418cb8f6d", qop=auth, nc=00000001, cnonce="50f4ec5134f1502c", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.020 [XNIO-78 task-5] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:11.025 [XNIO-78 task-6] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.025 [XNIO-78 task-6] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:11.025 [XNIO-78 task-6] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6b3dd079 for /digest
18:09:11.025 [XNIO-78 task-6] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.025 [XNIO-78 task-6] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:11.029 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WRdPcbVTwi4NMTU2NTQ3ODU1MTAyNQ6R698X5dlhG4JSm2Etuzw=", uri="/digest", response="931f4ae7417b63dc7da38cd38604221d", qop=auth, nc=00000001, cnonce="f945a9262cef287a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.029 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:11.030 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="WRdPcbVTwi4NMTU2NTQ3ODU1MTAyNQ6R698X5dlhG4JSm2Etuzw=", uri="/digest", response="931f4ae7417b63dc7da38cd38604221d", qop=auth, nc=00000001, cnonce="f945a9262cef287a", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WRdPcbVTwi4NMTU2NTQ3ODU1MTAyNQ6R698X5dlhG4JSm2Etuzw=", uri="/digest", response="931f4ae7417b63dc7da38cd38604221d", qop=auth, nc=00000001, cnonce="f945a9262cef287a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.030 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WRdPcbVTwi4NMTU2NTQ3ODU1MTAyNQ6R698X5dlhG4JSm2Etuzw=", uri="/digest", response="931f4ae7417b63dc7da38cd38604221d", qop=auth, nc=00000001, cnonce="f945a9262cef287a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.030 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6b3dd079 for /digest
18:09:11.030 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ POST /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="WRdPcbVTwi4NMTU2NTQ3ODU1MTAyNQ6R698X5dlhG4JSm2Etuzw=", uri="/digest", response="931f4ae7417b63dc7da38cd38604221d", qop=auth, nc=00000001, cnonce="f945a9262cef287a", algorithm=MD5, opaque="00000000000000000000000000000000"], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:33929]} response {}}
18:09:11.030 [XNIO-78 task-7] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:11.033 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@260e0d26
18:09:11.036 [XNIO-78 task-7] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:170)
	at ersatz.undertow.protocols.ssl.SslConduit.doWrap(SslConduit.java:892)
	at ersatz.undertow.protocols.ssl.SslConduit.write(SslConduit.java:371)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:242)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.flush(HttpResponseConduit.java:739)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.flush(AbstractFixedLengthStreamSinkConduit.java:229)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.server.HttpServerExchange$DefaultBlockingHttpExchange.close(HttpServerExchange.java:1890)
	at ersatz.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1599)
	at ersatz.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:55)
	at ersatz.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
	at ersatz.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at ersatz.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:164)
		... 21 common frames omitted
18:09:11.039 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@65a32e04
18:09:11.041 [XNIO-79 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-1', selector sun.nio.ch.EPollSelectorImpl@63f82845
18:09:11.043 [XNIO-79 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6a0811af
18:09:11.047 [XNIO-79 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-3', selector sun.nio.ch.EPollSelectorImpl@8247312
18:09:11.051 [XNIO-79 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4bb1221e
18:09:11.051 [XNIO-79 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3ce13229
18:09:11.051 [XNIO-79 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2407104c
18:09:11.052 [XNIO-79 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-7', selector sun.nio.ch.EPollSelectorImpl@72e6ad99
18:09:11.054 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.054 [XNIO-79 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 I/O-8', selector sun.nio.ch.EPollSelectorImpl@39032b13
18:09:11.054 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.057 [XNIO-79 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-79 Accept', selector sun.nio.ch.EPollSelectorImpl@3f90f4af
18:09:11.071 [XNIO-79 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /pass (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42157]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.072 [XNIO-79 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.078 [XNIO-79 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /pass (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42157]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.080 [XNIO-79 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.081 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@65a32e04
18:09:11.086 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1163f13a
18:09:11.088 [XNIO-80 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-1', selector sun.nio.ch.EPollSelectorImpl@a426f5c
18:09:11.094 [XNIO-80 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-2', selector sun.nio.ch.EPollSelectorImpl@33dd7c42
18:09:11.095 [XNIO-80 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-3', selector sun.nio.ch.EPollSelectorImpl@31623b2d
18:09:11.097 [XNIO-80 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-4', selector sun.nio.ch.EPollSelectorImpl@3eb02388
18:09:11.099 [XNIO-80 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2e9e302a
18:09:11.100 [XNIO-80 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4603a370
18:09:11.100 [XNIO-80 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-7', selector sun.nio.ch.EPollSelectorImpl@184fd1f5
18:09:11.101 [XNIO-80 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 I/O-8', selector sun.nio.ch.EPollSelectorImpl@52197546
18:09:11.102 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.102 [XNIO-80 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-80 Accept', selector sun.nio.ch.EPollSelectorImpl@5f6ee86d
18:09:11.102 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.124 [XNIO-80 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43025]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.125 [XNIO-80 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.135 [XNIO-80 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43025]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.136 [XNIO-80 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.137 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1163f13a
18:09:11.139 [XNIO-80 task-2] DEBUG ersatz.undertow.request.io - UT005013: An IOException occurred
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
	at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:170)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:242)
	at ersatz.undertow.server.protocol.http.HttpResponseConduit.flush(HttpResponseConduit.java:739)
	at ersatz.undertow.conduits.AbstractFixedLengthStreamSinkConduit.flush(AbstractFixedLengthStreamSinkConduit.java:229)
	at ersatz.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
	at ersatz.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
	at ersatz.xnio.channels.Channels.flushBlocking(Channels.java:63)
	at ersatz.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:344)
	at ersatz.undertow.io.BlockingSenderImpl.close(BlockingSenderImpl.java:170)
	at ersatz.undertow.io.DefaultIoCallback.onComplete(DefaultIoCallback.java:54)
	at ersatz.undertow.io.BlockingSenderImpl.invokeOnComplete(BlockingSenderImpl.java:227)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:95)
	at ersatz.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:117)
	at com.stehno.ersatz.ErsatzServer.send(ErsatzServer.groovy:494)
	at com.stehno.ersatz.ErsatzServer.access$0(ErsatzServer.groovy)
	at com.stehno.ersatz.ErsatzServer$1.handleRequest(ErsatzServer.groovy:370)
	at ersatz.undertow.server.handlers.HttpTraceHandler.handleRequest(HttpTraceHandler.java:70)
	at ersatz.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
	at ersatz.undertow.server.Connectors.executeRootHandler(Connectors.java:332)
	at ersatz.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: java.nio.channels.ClosedByInterruptException: null
		at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
		at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478)
		at ersatz.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:164)
		... 22 common frames omitted
18:09:11.140 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@629c6b1a
18:09:11.142 [XNIO-81 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-1', selector sun.nio.ch.EPollSelectorImpl@e60f13a
18:09:11.142 [XNIO-81 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-2', selector sun.nio.ch.EPollSelectorImpl@43f5328a
18:09:11.142 [XNIO-81 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-3', selector sun.nio.ch.EPollSelectorImpl@63bed306
18:09:11.142 [XNIO-81 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-4', selector sun.nio.ch.EPollSelectorImpl@7eb768c0
18:09:11.142 [XNIO-81 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4e4c4cd8
18:09:11.142 [XNIO-81 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-6', selector sun.nio.ch.EPollSelectorImpl@22436e09
18:09:11.145 [XNIO-81 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-7', selector sun.nio.ch.EPollSelectorImpl@561c262
18:09:11.147 [XNIO-81 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4141ef27
18:09:11.151 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.152 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.154 [XNIO-81 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-81 Accept', selector sun.nio.ch.EPollSelectorImpl@4dad3a84
18:09:11.155 [XNIO-81 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35137]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.156 [XNIO-81 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.163 [XNIO-81 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35137]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.164 [XNIO-81 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.165 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@629c6b1a
18:09:11.168 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@67ccba4a
18:09:11.171 [XNIO-82 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-1', selector sun.nio.ch.EPollSelectorImpl@77df26b6
18:09:11.171 [XNIO-82 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7d45574e
18:09:11.171 [XNIO-82 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-3', selector sun.nio.ch.EPollSelectorImpl@582be6a2
18:09:11.175 [XNIO-82 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3754ef05
18:09:11.175 [XNIO-82 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1f0284a4
18:09:11.177 [XNIO-82 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-6', selector sun.nio.ch.EPollSelectorImpl@689de95e
18:09:11.177 [XNIO-82 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2b40edeb
18:09:11.179 [XNIO-82 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 I/O-8', selector sun.nio.ch.EPollSelectorImpl@30c1609c
18:09:11.185 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.185 [XNIO-82 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-82 Accept', selector sun.nio.ch.EPollSelectorImpl@6d883997
18:09:11.185 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.190 [XNIO-82 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37381]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.191 [XNIO-82 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.194 [XNIO-82 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:37381]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.195 [XNIO-82 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.196 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@67ccba4a
18:09:11.200 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5a22cf25
18:09:11.203 [XNIO-83 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-1', selector sun.nio.ch.EPollSelectorImpl@6a8f72a1
18:09:11.207 [XNIO-83 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6b3c76d0
18:09:11.207 [XNIO-83 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1bfc9bde
18:09:11.207 [XNIO-83 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-6', selector sun.nio.ch.EPollSelectorImpl@3bf23d9b
18:09:11.207 [XNIO-83 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-3', selector sun.nio.ch.EPollSelectorImpl@597428bf
18:09:11.207 [XNIO-83 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-5', selector sun.nio.ch.EPollSelectorImpl@33950b7d
18:09:11.211 [XNIO-83 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-7', selector sun.nio.ch.EPollSelectorImpl@66714641
18:09:11.211 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.211 [XNIO-83 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 Accept', selector sun.nio.ch.EPollSelectorImpl@3c204628
18:09:11.211 [XNIO-83 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-83 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6b709129
18:09:11.211 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.221 [XNIO-83 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:46737]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.222 [XNIO-83 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.226 [XNIO-83 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:46737]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.227 [XNIO-83 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.228 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5a22cf25
18:09:11.230 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6916ecab
18:09:11.232 [XNIO-84 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-2', selector sun.nio.ch.EPollSelectorImpl@616c5687
18:09:11.232 [XNIO-84 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-1', selector sun.nio.ch.EPollSelectorImpl@37e81b7c
18:09:11.237 [XNIO-84 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7e481da2
18:09:11.237 [XNIO-84 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-7', selector sun.nio.ch.EPollSelectorImpl@55eeb986
18:09:11.237 [XNIO-84 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-3', selector sun.nio.ch.EPollSelectorImpl@d6cc273
18:09:11.237 [XNIO-84 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-8', selector sun.nio.ch.EPollSelectorImpl@793e6227
18:09:11.237 [XNIO-84 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-4', selector sun.nio.ch.EPollSelectorImpl@45546a39
18:09:11.237 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.237 [XNIO-84 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 Accept', selector sun.nio.ch.EPollSelectorImpl@3112b54e
18:09:11.237 [XNIO-84 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-84 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7655d7f6
18:09:11.238 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.243 [XNIO-84 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43677]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.243 [XNIO-84 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.247 [XNIO-84 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:43677]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.248 [XNIO-84 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.249 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6916ecab
18:09:11.252 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1f403373
18:09:11.253 [XNIO-85 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-1', selector sun.nio.ch.EPollSelectorImpl@22fe70b2
18:09:11.255 [XNIO-85 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7d7addb1
18:09:11.255 [XNIO-85 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-4', selector sun.nio.ch.EPollSelectorImpl@62ae3f74
18:09:11.255 [XNIO-85 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5f2b649b
18:09:11.255 [XNIO-85 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-3', selector sun.nio.ch.EPollSelectorImpl@7f197bd0
18:09:11.255 [XNIO-85 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4b00d6f
18:09:11.256 [XNIO-85 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-7', selector sun.nio.ch.EPollSelectorImpl@3cd2ff6f
18:09:11.259 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.259 [XNIO-85 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2d230665
18:09:11.259 [XNIO-85 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-85 Accept', selector sun.nio.ch.EPollSelectorImpl@2bd82ef6
18:09:11.259 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.265 [XNIO-85 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35711]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.266 [XNIO-85 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.271 [XNIO-85 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35711]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.272 [XNIO-85 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.273 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1f403373
18:09:11.277 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1312ccf8
18:09:11.279 [XNIO-86 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5e8cf3a6
18:09:11.279 [XNIO-86 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-1', selector sun.nio.ch.EPollSelectorImpl@841aa4a
18:09:11.279 [XNIO-86 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-3', selector sun.nio.ch.EPollSelectorImpl@629c27e8
18:09:11.283 [XNIO-86 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-4', selector sun.nio.ch.EPollSelectorImpl@7869473c
18:09:11.283 [XNIO-86 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6927419f
18:09:11.284 [XNIO-86 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-6', selector sun.nio.ch.EPollSelectorImpl@178209d6
18:09:11.286 [XNIO-86 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-7', selector sun.nio.ch.EPollSelectorImpl@59555353
18:09:11.287 [XNIO-86 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6804e010
18:09:11.287 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.287 [XNIO-86 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-86 Accept', selector sun.nio.ch.EPollSelectorImpl@372848f7
18:09:11.288 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.375 [XNIO-86 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:32771]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.376 [XNIO-86 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.379 [XNIO-86 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:32771]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.380 [XNIO-86 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.381 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1312ccf8
18:09:11.385 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6d7e0499
18:09:11.386 [XNIO-87 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-2', selector sun.nio.ch.EPollSelectorImpl@57b10222
18:09:11.386 [XNIO-87 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-3', selector sun.nio.ch.EPollSelectorImpl@2ca8f65a
18:09:11.386 [XNIO-87 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-6', selector sun.nio.ch.EPollSelectorImpl@3f766a7d
18:09:11.386 [XNIO-87 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-1', selector sun.nio.ch.EPollSelectorImpl@13ac518
18:09:11.386 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.386 [XNIO-87 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-4', selector sun.nio.ch.EPollSelectorImpl@64d3bd0
18:09:11.386 [XNIO-87 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-5', selector sun.nio.ch.EPollSelectorImpl@40ea2cea
18:09:11.386 [XNIO-87 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4e42d910
18:09:11.386 [XNIO-87 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 Accept', selector sun.nio.ch.EPollSelectorImpl@2bba9f4e
18:09:11.386 [XNIO-87 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-87 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6552f5f2
18:09:11.387 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.402 [XNIO-87 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36209]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.403 [XNIO-87 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.406 [XNIO-87 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:36209]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.407 [XNIO-87 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.408 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6d7e0499
18:09:11.411 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1a481547
18:09:11.412 [XNIO-88 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-1', selector sun.nio.ch.EPollSelectorImpl@6a45bcb6
18:09:11.412 [XNIO-88 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6d115190
18:09:11.412 [XNIO-88 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3799def3
18:09:11.412 [XNIO-88 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1436884b
18:09:11.412 [XNIO-88 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1de895fa
18:09:11.412 [XNIO-88 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6f47489c
18:09:11.412 [XNIO-88 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-7', selector sun.nio.ch.EPollSelectorImpl@431cae8f
18:09:11.413 [XNIO-88 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 I/O-8', selector sun.nio.ch.EPollSelectorImpl@ec3b1b5
18:09:11.413 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.413 [XNIO-88 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-88 Accept', selector sun.nio.ch.EPollSelectorImpl@831439
18:09:11.413 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.419 [XNIO-88 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35635]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.420 [XNIO-88 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.423 [XNIO-88 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35635]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.424 [XNIO-88 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.425 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1a481547
18:09:11.428 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@2e13f0d7
18:09:11.429 [XNIO-89 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-3', selector sun.nio.ch.EPollSelectorImpl@4c9bdd0c
18:09:11.429 [XNIO-89 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-4', selector sun.nio.ch.EPollSelectorImpl@725d7ed2
18:09:11.429 [XNIO-89 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-1', selector sun.nio.ch.EPollSelectorImpl@28912c4a
18:09:11.430 [XNIO-89 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-6', selector sun.nio.ch.EPollSelectorImpl@38552b45
18:09:11.429 [XNIO-89 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-2', selector sun.nio.ch.EPollSelectorImpl@94eda1b
18:09:11.429 [XNIO-89 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3727abf8
18:09:11.430 [XNIO-89 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-7', selector sun.nio.ch.EPollSelectorImpl@5f225aa9
18:09:11.430 [XNIO-89 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5d21b0a3
18:09:11.430 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.430 [XNIO-89 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-89 Accept', selector sun.nio.ch.EPollSelectorImpl@7779594e
18:09:11.430 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.433 [XNIO-89 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35303]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.434 [XNIO-89 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.437 [XNIO-89 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35303]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.438 [XNIO-89 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.439 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@2e13f0d7
18:09:11.443 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@59cb2ade
18:09:11.445 [XNIO-90 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7f49c32e
18:09:11.445 [XNIO-90 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-1', selector sun.nio.ch.EPollSelectorImpl@790fa67
18:09:11.446 [XNIO-90 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-3', selector sun.nio.ch.EPollSelectorImpl@e23f542
18:09:11.449 [XNIO-90 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6b5c383b
18:09:11.449 [XNIO-90 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-5', selector sun.nio.ch.EPollSelectorImpl@73f50fc3
18:09:11.451 [XNIO-90 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7f73e7cc
18:09:11.451 [XNIO-90 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4d3df0cd
18:09:11.451 [XNIO-90 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 I/O-8', selector sun.nio.ch.EPollSelectorImpl@66fff13
18:09:11.451 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.451 [XNIO-90 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-90 Accept', selector sun.nio.ch.EPollSelectorImpl@27c7647f
18:09:11.452 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.463 [XNIO-90 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39323]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.464 [XNIO-90 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.467 [XNIO-90 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:39323]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.468 [XNIO-90 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.469 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@59cb2ade
18:09:11.471 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6d57b99
18:09:11.473 [XNIO-91 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-1', selector sun.nio.ch.EPollSelectorImpl@42657f2d
18:09:11.473 [XNIO-91 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-2', selector sun.nio.ch.EPollSelectorImpl@30457a4c
18:09:11.473 [XNIO-91 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-5', selector sun.nio.ch.EPollSelectorImpl@62e4d088
18:09:11.473 [XNIO-91 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-3', selector sun.nio.ch.EPollSelectorImpl@4fc181a9
18:09:11.473 [XNIO-91 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1f03a118
18:09:11.473 [XNIO-91 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4675e3a5
18:09:11.473 [XNIO-91 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-7', selector sun.nio.ch.EPollSelectorImpl@50c3c969
18:09:11.473 [XNIO-91 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7fa0e845
18:09:11.473 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.473 [XNIO-91 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-91 Accept', selector sun.nio.ch.EPollSelectorImpl@6d06f681
18:09:11.474 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.477 [XNIO-91 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:40287]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.477 [XNIO-91 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.481 [XNIO-91 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:40287]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.482 [XNIO-91 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.483 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6d57b99
18:09:11.486 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@78c45175
18:09:11.487 [XNIO-92 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-2', selector sun.nio.ch.EPollSelectorImpl@1a5bd50f
18:09:11.487 [XNIO-92 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-4', selector sun.nio.ch.EPollSelectorImpl@22a36e4a
18:09:11.487 [XNIO-92 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-1', selector sun.nio.ch.EPollSelectorImpl@59957342
18:09:11.487 [XNIO-92 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-5', selector sun.nio.ch.EPollSelectorImpl@fb83946
18:09:11.487 [XNIO-92 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6ec57afd
18:09:11.487 [XNIO-92 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5aac888d
18:09:11.488 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.488 [XNIO-92 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-7', selector sun.nio.ch.EPollSelectorImpl@17767f4c
18:09:11.488 [XNIO-92 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 Accept', selector sun.nio.ch.EPollSelectorImpl@571800c5
18:09:11.488 [XNIO-92 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-92 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2a0fcc32
18:09:11.488 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.491 [XNIO-92 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42121]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.492 [XNIO-92 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.496 [XNIO-92 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:42121]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.497 [XNIO-92 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.498 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@78c45175
18:09:11.501 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@51cb5ce6
18:09:11.503 [XNIO-93 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-1', selector sun.nio.ch.EPollSelectorImpl@10f6d6ce
18:09:11.505 [XNIO-93 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7af4711e
18:09:11.511 [XNIO-93 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5ad4ab1d
18:09:11.511 [XNIO-93 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2a0c9707
18:09:11.511 [XNIO-93 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-5', selector sun.nio.ch.EPollSelectorImpl@64fb4a7d
18:09:11.511 [XNIO-93 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1ed73222
18:09:11.511 [XNIO-93 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-7', selector sun.nio.ch.EPollSelectorImpl@41d4f0af
18:09:11.512 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.512 [XNIO-93 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6c49462a
18:09:11.512 [XNIO-93 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-93 Accept', selector sun.nio.ch.EPollSelectorImpl@4cd4281b
18:09:11.512 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.516 [XNIO-93 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38103]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.517 [XNIO-93 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.520 [XNIO-93 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /handling (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:38103]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.521 [XNIO-93 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:11.522 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@51cb5ce6
18:09:11.527 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@3450664f
18:09:11.529 [XNIO-94 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-2', selector sun.nio.ch.EPollSelectorImpl@27ab8257
18:09:11.529 [XNIO-94 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4df336d5
18:09:11.531 [XNIO-94 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-4', selector sun.nio.ch.EPollSelectorImpl@39e930a8
18:09:11.529 [XNIO-94 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-3', selector sun.nio.ch.EPollSelectorImpl@70853dbe
18:09:11.532 [XNIO-94 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3b1324d8
18:09:11.533 [XNIO-94 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2aae5d7b
18:09:11.533 [XNIO-94 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-7', selector sun.nio.ch.EPollSelectorImpl@73ad1425
18:09:11.533 [XNIO-94 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 I/O-8', selector sun.nio.ch.EPollSelectorImpl@632ef0ad
18:09:11.535 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.535 [XNIO-94 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-94 Accept', selector sun.nio.ch.EPollSelectorImpl@7c90aacc
18:09:11.535 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.541 [XNIO-94 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /gzip (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35201]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.542 [XNIO-94 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18:09:11.549 [XNIO-94 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /gzip (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[30], User-Agent=[okhttp/3.5.0], Host=[localhost:35201]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:11.550 [XNIO-94 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18:09:11.552 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@3450664f
18:09:11.559 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@221e61cb
18:09:11.561 [XNIO-95 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-1', selector sun.nio.ch.EPollSelectorImpl@6f60cfd
18:09:11.561 [XNIO-95 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-2', selector sun.nio.ch.EPollSelectorImpl@25b21da9
18:09:11.562 [XNIO-95 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-3', selector sun.nio.ch.EPollSelectorImpl@1a9ae2e9
18:09:11.562 [XNIO-95 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-7', selector sun.nio.ch.EPollSelectorImpl@717b5107
18:09:11.562 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.562 [XNIO-95 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2bdf0fd5
18:09:11.562 [XNIO-95 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 Accept', selector sun.nio.ch.EPollSelectorImpl@18a92197
18:09:11.562 [XNIO-95 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-6', selector sun.nio.ch.EPollSelectorImpl@33a96027
18:09:11.562 [XNIO-95 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-4', selector sun.nio.ch.EPollSelectorImpl@32958213
18:09:11.562 [XNIO-95 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-95 I/O-8', selector sun.nio.ch.EPollSelectorImpl@3da93f87
18:09:11.563 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.571 [XNIO-95 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /types (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[19], User-Agent=[okhttp/3.5.0], Host=[localhost:40727]}, cookies=[:]): {"value":"ok-json"} }
18:09:11.572 [XNIO-95 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.575 [XNIO-95 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /types (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/json; charset=utf-8], Content-Length=[19], User-Agent=[okhttp/3.5.0], Host=[localhost:40727]}, cookies=[:]): {"value":"ok-json"} }
18:09:11.576 [XNIO-95 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.577 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@221e61cb
18:09:11.580 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5e5ca17f
18:09:11.581 [XNIO-96 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-2', selector sun.nio.ch.EPollSelectorImpl@74874f4a
18:09:11.582 [XNIO-96 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4a404e5c
18:09:11.581 [XNIO-96 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-3', selector sun.nio.ch.EPollSelectorImpl@7c15785c
18:09:11.582 [XNIO-96 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-6', selector sun.nio.ch.EPollSelectorImpl@11fe28d4
18:09:11.581 [XNIO-96 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-4', selector sun.nio.ch.EPollSelectorImpl@31497dc
18:09:11.583 [XNIO-96 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-7', selector sun.nio.ch.EPollSelectorImpl@39891076
18:09:11.581 [XNIO-96 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-1', selector sun.nio.ch.EPollSelectorImpl@23dbb020
18:09:11.583 [XNIO-96 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 I/O-8', selector sun.nio.ch.EPollSelectorImpl@21dbf2a0
18:09:11.584 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.584 [XNIO-96 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-96 Accept', selector sun.nio.ch.EPollSelectorImpl@33c69e35
18:09:11.584 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.587 [XNIO-96 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /types (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/xml; charset=utf-8], Content-Length=[46], User-Agent=[okhttp/3.5.0], Host=[localhost:46867]}, cookies=[:]): <?xml version="1.0"?><message value="ok-xml"/> }
18:09:11.588 [XNIO-96 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.595 [XNIO-96 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /types (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/xml; charset=utf-8], Content-Length=[46], User-Agent=[okhttp/3.5.0], Host=[localhost:46867]}, cookies=[:]): <?xml version="1.0"?><message value="ok-xml"/> }
18:09:11.596 [XNIO-96 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.597 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5e5ca17f
18:09:11.599 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@25edddc0
18:09:11.600 [XNIO-97 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-1', selector sun.nio.ch.EPollSelectorImpl@31abf6cb
18:09:11.601 [XNIO-97 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-2', selector sun.nio.ch.EPollSelectorImpl@730ba63e
18:09:11.601 [XNIO-97 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-3', selector sun.nio.ch.EPollSelectorImpl@7292420
18:09:11.601 [XNIO-97 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-4', selector sun.nio.ch.EPollSelectorImpl@31254ca4
18:09:11.601 [XNIO-97 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-5', selector sun.nio.ch.EPollSelectorImpl@29b837b4
18:09:11.601 [XNIO-97 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-7', selector sun.nio.ch.EPollSelectorImpl@226dac47
18:09:11.601 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.601 [XNIO-97 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5f8c8e29
18:09:11.601 [XNIO-97 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 I/O-6', selector sun.nio.ch.EPollSelectorImpl@48425a0a
18:09:11.601 [XNIO-97 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-97 Accept', selector sun.nio.ch.EPollSelectorImpl@20705508
18:09:11.602 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.607 [XNIO-97 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /types (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[text/html; charset=utf-8], Content-Length=[7], User-Agent=[okhttp/3.5.0], Host=[localhost:35467]}, cookies=[:]): ok-html }
18:09:11.608 [XNIO-97 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.611 [XNIO-97 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /types (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[text/html; charset=utf-8], Content-Length=[7], User-Agent=[okhttp/3.5.0], Host=[localhost:35467]}, cookies=[:]): ok-html }
18:09:11.612 [XNIO-97 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.613 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@25edddc0
18:09:11.618 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7c35df86
18:09:11.619 [XNIO-98 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1e87b268
18:09:11.620 [XNIO-98 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-2', selector sun.nio.ch.EPollSelectorImpl@4c0c8b6
18:09:11.621 [XNIO-98 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-3', selector sun.nio.ch.EPollSelectorImpl@712eb38b
18:09:11.623 [XNIO-98 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5f799966
18:09:11.627 [XNIO-98 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-5', selector sun.nio.ch.EPollSelectorImpl@662d98e6
18:09:11.627 [XNIO-98 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-6', selector sun.nio.ch.EPollSelectorImpl@3b97e85e
18:09:11.631 [XNIO-98 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-7', selector sun.nio.ch.EPollSelectorImpl@53fc2c01
18:09:11.631 [XNIO-98 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 I/O-8', selector sun.nio.ch.EPollSelectorImpl@68ea6c14
18:09:11.631 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.631 [XNIO-98 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-98 Accept', selector sun.nio.ch.EPollSelectorImpl@7e49605b
18:09:11.632 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.655 [XNIO-98 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /form (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/x-www-form-urlencoded; charset=utf-8], Content-Length=[34], User-Agent=[okhttp/3.5.0], Host=[localhost:34237]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:11.667 [XNIO-98 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.671 [XNIO-98 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /form (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/x-www-form-urlencoded; charset=utf-8], Content-Length=[34], User-Agent=[okhttp/3.5.0], Host=[localhost:34237]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:11.672 [XNIO-98 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.673 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7c35df86
18:09:11.677 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@2c1f427f
18:09:11.678 [XNIO-99 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-2', selector sun.nio.ch.EPollSelectorImpl@18279409
18:09:11.678 [XNIO-99 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-3', selector sun.nio.ch.EPollSelectorImpl@76272d53
18:09:11.680 [XNIO-99 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-4', selector sun.nio.ch.EPollSelectorImpl@69c4f89
18:09:11.680 [XNIO-99 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1749f1f9
18:09:11.678 [XNIO-99 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-1', selector sun.nio.ch.EPollSelectorImpl@3aa961a1
18:09:11.680 [XNIO-99 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5ee90fce
18:09:11.686 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.686 [XNIO-99 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-7', selector sun.nio.ch.EPollSelectorImpl@44cd29cf
18:09:11.686 [XNIO-99 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 I/O-8', selector sun.nio.ch.EPollSelectorImpl@455560d5
18:09:11.686 [XNIO-99 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-99 Accept', selector sun.nio.ch.EPollSelectorImpl@7f515e43
18:09:11.686 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.744 [XNIO-99 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /form (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/x-www-form-urlencoded; charset=utf-8], Content-Length=[34], User-Agent=[okhttp/3.5.0], Host=[localhost:45699]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:11.745 [XNIO-99 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.749 [XNIO-99 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /form (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[application/x-www-form-urlencoded; charset=utf-8], Content-Length=[34], User-Agent=[okhttp/3.5.0], Host=[localhost:45699]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:11.751 [XNIO-99 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.752 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@2c1f427f
18:09:11.769 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4635517f
18:09:11.770 [XNIO-100 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-1', selector sun.nio.ch.EPollSelectorImpl@214db664
18:09:11.770 [XNIO-100 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-3', selector sun.nio.ch.EPollSelectorImpl@800c25b
18:09:11.770 [XNIO-100 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5f4f5387
18:09:11.771 [XNIO-100 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5ffd9750
18:09:11.770 [XNIO-100 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-4', selector sun.nio.ch.EPollSelectorImpl@61825766
18:09:11.771 [XNIO-100 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-7', selector sun.nio.ch.EPollSelectorImpl@759ed468
18:09:11.771 [XNIO-100 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6362bb4a
18:09:11.771 [XNIO-100 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7a02296d
18:09:11.772 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.772 [XNIO-100 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-100 Accept', selector sun.nio.ch.EPollSelectorImpl@358b79d
18:09:11.772 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.795 [XNIO-100 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=04c9f15d-46e8-4888-bcf6-0eee01fd757b; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:46777]}, cookies=[:]): --04c9f15d-46e8-4888-bcf6-0eee01fd757b
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--04c9f15d-46e8-4888-bcf6-0eee01fd757b
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--04c9f15d-46e8-4888-bcf6-0eee01fd757b--
 }
18:09:11.852 [XNIO-100 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.856 [XNIO-100 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=a580d1ca-3388-407a-85f2-9fef37ca7655; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:46777]}, cookies=[:]): --a580d1ca-3388-407a-85f2-9fef37ca7655
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--a580d1ca-3388-407a-85f2-9fef37ca7655
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--a580d1ca-3388-407a-85f2-9fef37ca7655--
 }
18:09:11.859 [XNIO-100 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.860 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4635517f
18:09:11.864 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4e1366ff
18:09:11.865 [XNIO-101 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-2', selector sun.nio.ch.EPollSelectorImpl@57c5af89
18:09:11.865 [XNIO-101 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2fa3d888
18:09:11.866 [XNIO-101 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-3', selector sun.nio.ch.EPollSelectorImpl@73f9a0eb
18:09:11.866 [XNIO-101 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4a7f839a
18:09:11.867 [XNIO-101 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-5', selector sun.nio.ch.EPollSelectorImpl@58478a0c
18:09:11.868 [XNIO-101 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-6', selector sun.nio.ch.EPollSelectorImpl@33e3c0b0
18:09:11.868 [XNIO-101 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-7', selector sun.nio.ch.EPollSelectorImpl@751d8741
18:09:11.868 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:11.868 [XNIO-101 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 I/O-8', selector sun.nio.ch.EPollSelectorImpl@53b166c
18:09:11.868 [XNIO-101 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-101 Accept', selector sun.nio.ch.EPollSelectorImpl@7a2619b1
18:09:11.869 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:11.935 [XNIO-101 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=37786937-dcec-429e-a804-b60761270a92; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:38259]}, cookies=[:]): --37786937-dcec-429e-a804-b60761270a92
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--37786937-dcec-429e-a804-b60761270a92
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--37786937-dcec-429e-a804-b60761270a92--
 }
18:09:11.937 [XNIO-101 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.941 [XNIO-101 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { POST /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=f826a52e-812b-4577-aa20-0d5224cfbf17; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:38259]}, cookies=[:]): --f826a52e-812b-4577-aa20-0d5224cfbf17
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--f826a52e-812b-4577-aa20-0d5224cfbf17
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--f826a52e-812b-4577-aa20-0d5224cfbf17--
 }
18:09:11.943 [XNIO-101 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:11.945 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4e1366ff

Standard error

Aug 10, 2019 6:09:10 PM okhttp3.internal.platform.Platform log
WARNING: previous digest authentication with same nonce failed, returning null
Aug 10, 2019 6:09:10 PM okhttp3.internal.platform.Platform log
WARNING: previous digest authentication with same nonce failed, returning null
Aug 10, 2019 6:09:10 PM okhttp3.internal.platform.Platform log
INFO: Cached authentication expired. Sending a new request.
Aug 10, 2019 6:09:10 PM okhttp3.internal.platform.Platform log
WARNING: previous digest authentication with same nonce failed, returning null
Aug 10, 2019 6:09:11 PM okhttp3.internal.platform.Platform log
WARNING: previous digest authentication with same nonce failed, returning null
Aug 10, 2019 6:09:11 PM okhttp3.internal.platform.Platform log
WARNING: previous digest authentication with same nonce failed, returning null
Aug 10, 2019 6:09:11 PM okhttp3.internal.platform.Platform log
INFO: Cached authentication expired. Sending a new request.
Aug 10, 2019 6:09:11 PM okhttp3.internal.platform.Platform log
WARNING: previous digest authentication with same nonce failed, returning null