Class groovyx.net.http.OkHttpPatchSpec

58

tests

0

failures

0

ignored

9.224s

duration

100%

successful

Tests

Test Duration Result
HTTP PATCH with BASIC authentication (authorized) 0.130s passed
HTTP PATCH with BASIC authentication (unauthorized) 0.078s passed
HTTP PATCH with DIGEST authentication (authorized) 0.119s passed
HTTP PATCH with DIGEST authentication (unauthorized) 0.072s passed
HTTPS PATCH with BASIC authentication (authorized) 0.117s passed
HTTPS PATCH with BASIC authentication (unauthorized) 0.090s passed
HTTPS PATCH with DIGEST authentication (authorized) 0.155s passed
HTTPS PATCH with DIGEST authentication (unauthorized) 0.120s passed
form (url-encoded): HTTP 0.121s passed
form (url-encoded): HTTPS 0.110s passed
gzip compression supported 0.109s passed
interceptor 0.053s passed
multipart request HTTP 0.166s passed
multipart request HTTPS 0.100s passed
patch(): HTTP application/json [:] 0.301s passed
patch(): HTTP application/xml [one:1] 0.171s passed
patch(): HTTP text/csv [one:1, two:2] 0.140s passed
patch(): HTTP text/html [two:2] 0.111s passed
patch(): HTTP text/plain null 3.127s passed
patch(): HTTPS application/json [:] 0.327s passed
patch(): HTTPS application/xml [one:1] 0.158s passed
patch(): HTTPS text/csv [one:1, two:2] 0.212s passed
patch(): HTTPS text/html [two:2] 0.160s passed
patch(): HTTPS text/plain null 0.608s passed
patch(Class,Closure): cookies -> [:] 0.082s passed
patch(Class,Closure): cookies -> [flavor:chocolate-chip, count:dozen] 0.063s passed
patch(Class,Closure): cookies -> [flavor:chocolate-chip] 0.120s passed
patch(Class,Closure): cookies -> null 0.197s passed
patch(Class,Consumer): cookies -> [:] 0.033s passed
patch(Class,Consumer): cookies -> [flavor:oatmeal, count:dozen] 0.050s passed
patch(Class,Consumer): cookies -> [flavor:peanut-butter] 0.059s passed
patch(Class,Consumer): cookies -> null 0.085s passed
patch(Closure): query -> [:] 0.131s passed
patch(Closure): query -> [alpha:[one, two], bravo:three] 0.055s passed
patch(Closure): query -> [alpha:[one, two]] 0.051s passed
patch(Closure): query -> [alpha:[one]] 0.119s passed
patch(Closure): query -> [alpha:one] 0.106s passed
patch(Closure): query -> null 0.136s passed
patch(Consumer): headers -> [:] 0.045s passed
patch(Consumer): headers -> [hat:fedora] 0.056s passed
patch(Consumer): headers -> null 0.079s passed
request content encoding (application/json) 0.119s passed
request content encoding (application/xml) 0.099s passed
request content encoding (text/html) 0.079s passed
success/failure handler with BiFunction (200) 0.058s passed
success/failure handler with BiFunction (300) 0.073s passed
success/failure handler with BiFunction (400) 0.044s passed
success/failure handler with BiFunction (500) 0.062s passed
success/failure handler with Closure (200) 0.048s passed
success/failure handler with Closure (300) 0.025s passed
success/failure handler with Closure (400) 0.061s passed
success/failure handler with Closure (500) 0.028s passed
when handler with BiFunction (205) 0.027s passed
when handler with BiFunction (210) 0.032s passed
when handler with BiFunction (211) 0.025s passed
when handler with Closure (205) 0.045s passed
when handler with Closure (210) 0.038s passed
when handler with Closure (211) 0.039s passed

Standard output

18:09:00.749 [Test worker] DEBUG ersatz.jboss.logging - Logging Provider: ersatz.jboss.logging.Slf4jLoggerProvider
18:09:00.801 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@9096b60
18:09:00.824 [Test worker] INFO ersatz.xnio - XNIO version 3.3.8.Final
18:09:00.899 [Test worker] INFO ersatz.xnio.nio - XNIO NIO Implementation Version 3.3.8.Final
18:09:01.123 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:01.124 [XNIO-1 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 Accept', selector sun.nio.ch.EPollSelectorImpl@148c67c3
18:09:01.117 [XNIO-1 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-8', selector sun.nio.ch.EPollSelectorImpl@256e02e8
18:09:01.117 [XNIO-1 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-7', selector sun.nio.ch.EPollSelectorImpl@22b1bb20
18:09:01.116 [XNIO-1 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-6', selector sun.nio.ch.EPollSelectorImpl@11478c7f
18:09:01.116 [XNIO-1 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-5', selector sun.nio.ch.EPollSelectorImpl@58a3afcc
18:09:01.116 [XNIO-1 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4b97e176
18:09:01.115 [XNIO-1 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-3', selector sun.nio.ch.EPollSelectorImpl@d68e706
18:09:01.115 [XNIO-1 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-2', selector sun.nio.ch.EPollSelectorImpl@77487242
18:09:01.111 [XNIO-1 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-1 I/O-1', selector sun.nio.ch.EPollSelectorImpl@119bceb4
18:09:01.239 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:02.043 [XNIO-1 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39379]}, cookies=[:]): <empty> }
18:09:02.255 [XNIO-1 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:02.587 [XNIO-1 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39379]}, cookies=[:]): <empty> }
18:09:02.677 [XNIO-1 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:02.735 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@9096b60
18:09:02.783 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7a927f0e
18:09:02.798 [XNIO-2 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2b4351b1
18:09:02.808 [XNIO-2 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-2', selector sun.nio.ch.EPollSelectorImpl@563478f3
18:09:02.831 [XNIO-2 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-3', selector sun.nio.ch.EPollSelectorImpl@1267b975
18:09:02.836 [XNIO-2 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5ef1dbad
18:09:02.841 [XNIO-2 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-7', selector sun.nio.ch.EPollSelectorImpl@3efb7a9
18:09:02.836 [XNIO-2 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4f4e5522
18:09:02.848 [XNIO-2 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5656df85
18:09:02.836 [XNIO-2 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7e2ab89f
18:09:02.854 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:02.855 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:02.859 [XNIO-2 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-2 Accept', selector sun.nio.ch.EPollSelectorImpl@212b9a7d
18:09:03.336 [XNIO-2 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38785]}, cookies=[:]): <empty> }
18:09:03.340 [XNIO-2 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:03.365 [XNIO-2 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38785]}, cookies=[:]): <empty> }
18:09:03.376 [XNIO-2 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:03.380 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7a927f0e
18:09:03.405 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@44ad939a
18:09:03.409 [XNIO-3 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1872f422
18:09:03.432 [XNIO-3 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-2', selector sun.nio.ch.EPollSelectorImpl@26792940
18:09:03.460 [XNIO-3 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-3', selector sun.nio.ch.EPollSelectorImpl@33ce9481
18:09:03.462 [XNIO-3 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-4', selector sun.nio.ch.EPollSelectorImpl@16d2e112
18:09:03.465 [XNIO-3 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-5', selector sun.nio.ch.EPollSelectorImpl@a19bc97
18:09:03.477 [XNIO-3 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-6', selector sun.nio.ch.EPollSelectorImpl@577eac33
18:09:03.495 [XNIO-3 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4b331ea9
18:09:03.511 [XNIO-3 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 I/O-8', selector sun.nio.ch.EPollSelectorImpl@72b8256d
18:09:03.527 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:03.527 [XNIO-3 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-3 Accept', selector sun.nio.ch.EPollSelectorImpl@2a875d5d
18:09:03.528 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:03.588 [XNIO-3 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:34807]}, cookies=[:]): {} }
18:09:03.594 [XNIO-3 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:03.659 [XNIO-3 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:34807]}, cookies=[:]): {} }
18:09:03.662 [XNIO-3 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:03.666 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@44ad939a
18:09:03.728 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6a2714e7
18:09:03.763 [XNIO-4 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2009a250
18:09:03.771 [XNIO-4 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6ff00b2d
18:09:03.778 [XNIO-4 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6935ae07
18:09:03.782 [XNIO-4 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-5', selector sun.nio.ch.EPollSelectorImpl@70a1133e
18:09:03.779 [XNIO-4 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-2', selector sun.nio.ch.EPollSelectorImpl@128e1514
18:09:03.799 [XNIO-4 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-6', selector sun.nio.ch.EPollSelectorImpl@319809a1
18:09:03.815 [XNIO-4 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-7', selector sun.nio.ch.EPollSelectorImpl@62e75359
18:09:03.831 [XNIO-4 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 I/O-8', selector sun.nio.ch.EPollSelectorImpl@559e9fba
18:09:03.843 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:03.843 [XNIO-4 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-4 Accept', selector sun.nio.ch.EPollSelectorImpl@4fa82138
18:09:03.844 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.006 [XNIO-4 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35199]}, cookies=[:]): {} }
18:09:04.010 [XNIO-4 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:04.023 [XNIO-4 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35199]}, cookies=[:]): {} }
18:09:04.026 [XNIO-4 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/json]}): {"value":"ok-json"}
18:09:04.029 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6a2714e7
18:09:04.039 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6f0ce347
18:09:04.055 [XNIO-5 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-1', selector sun.nio.ch.EPollSelectorImpl@321f6c1b
18:09:04.067 [XNIO-5 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-2', selector sun.nio.ch.EPollSelectorImpl@a1d3b3c
18:09:04.073 [XNIO-5 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-3', selector sun.nio.ch.EPollSelectorImpl@d5ebca3
18:09:04.086 [XNIO-5 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-4', selector sun.nio.ch.EPollSelectorImpl@76a31948
18:09:04.097 [XNIO-5 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3731f83f
18:09:04.115 [XNIO-5 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-6', selector sun.nio.ch.EPollSelectorImpl@44187c0
18:09:04.131 [XNIO-5 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-8', selector sun.nio.ch.EPollSelectorImpl@441bc97e
18:09:04.132 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:04.133 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.135 [XNIO-5 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2dd7f468
18:09:04.138 [XNIO-5 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-5 Accept', selector sun.nio.ch.EPollSelectorImpl@2ab25536
18:09:04.171 [XNIO-5 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45585]}, cookies=[:]): {"one":"1"} }
18:09:04.173 [XNIO-5 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:04.193 [XNIO-5 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45585]}, cookies=[:]): {"one":"1"} }
18:09:04.196 [XNIO-5 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:04.203 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6f0ce347
18:09:04.211 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@72a93ea
18:09:04.225 [XNIO-6 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-1', selector sun.nio.ch.EPollSelectorImpl@68595fcd
18:09:04.225 [XNIO-6 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-2', selector sun.nio.ch.EPollSelectorImpl@e4cf926
18:09:04.227 [XNIO-6 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-4', selector sun.nio.ch.EPollSelectorImpl@48955465
18:09:04.229 [XNIO-6 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-5', selector sun.nio.ch.EPollSelectorImpl@fa87b1f
18:09:04.225 [XNIO-6 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-3', selector sun.nio.ch.EPollSelectorImpl@80714ea
18:09:04.231 [XNIO-6 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-7', selector sun.nio.ch.EPollSelectorImpl@34a26ef3
18:09:04.232 [XNIO-6 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-8', selector sun.nio.ch.EPollSelectorImpl@c1dd56f
18:09:04.231 [XNIO-6 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 I/O-6', selector sun.nio.ch.EPollSelectorImpl@62fe55ba
18:09:04.233 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:04.233 [XNIO-6 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-6 Accept', selector sun.nio.ch.EPollSelectorImpl@569a33e7
18:09:04.234 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.336 [XNIO-6 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36775]}, cookies=[:]): {"one":"1"} }
18:09:04.339 [XNIO-6 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:04.359 [XNIO-6 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36775]}, cookies=[:]): {"one":"1"} }
18:09:04.361 [XNIO-6 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[application/xml]}): <?xml version="1.0"?><message value="ok-xml"/>
18:09:04.366 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@72a93ea
18:09:04.374 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5b8af36d
18:09:04.399 [XNIO-7 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-1', selector sun.nio.ch.EPollSelectorImpl@31b5085
18:09:04.401 [XNIO-7 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-2', selector sun.nio.ch.EPollSelectorImpl@1f61f8c6
18:09:04.403 [XNIO-7 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-3', selector sun.nio.ch.EPollSelectorImpl@151efed4
18:09:04.405 [XNIO-7 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-4', selector sun.nio.ch.EPollSelectorImpl@7b0f1d40
18:09:04.405 [XNIO-7 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-5', selector sun.nio.ch.EPollSelectorImpl@68f22ae6
18:09:04.407 [XNIO-7 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2b969af1
18:09:04.412 [XNIO-7 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-8', selector sun.nio.ch.EPollSelectorImpl@64e2f906
18:09:04.412 [XNIO-7 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 I/O-7', selector sun.nio.ch.EPollSelectorImpl@3bc3a4e2
18:09:04.413 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:04.413 [XNIO-7 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-7 Accept', selector sun.nio.ch.EPollSelectorImpl@651fd1be
18:09:04.414 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.433 [XNIO-7 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33167]}, cookies=[:]): {"two":2} }
18:09:04.435 [XNIO-7 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:04.459 [XNIO-7 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33167]}, cookies=[:]): {"two":2} }
18:09:04.475 [XNIO-7 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:04.479 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5b8af36d
18:09:04.493 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7a796c22
18:09:04.496 [XNIO-8 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-1', selector sun.nio.ch.EPollSelectorImpl@536f9ad5
18:09:04.503 [XNIO-8 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-2', selector sun.nio.ch.EPollSelectorImpl@398830e8
18:09:04.509 [XNIO-8 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6fdd5d6
18:09:04.511 [XNIO-8 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-4', selector sun.nio.ch.EPollSelectorImpl@74bce35c
18:09:04.512 [XNIO-8 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-6', selector sun.nio.ch.EPollSelectorImpl@27b502e6
18:09:04.515 [XNIO-8 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-7', selector sun.nio.ch.EPollSelectorImpl@22948a9a
18:09:04.519 [XNIO-8 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-5', selector sun.nio.ch.EPollSelectorImpl@27a29df3
18:09:04.519 [XNIO-8 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 I/O-8', selector sun.nio.ch.EPollSelectorImpl@80debfa
18:09:04.535 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:04.536 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.540 [XNIO-8 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-8 Accept', selector sun.nio.ch.EPollSelectorImpl@195ee3e
18:09:04.613 [XNIO-8 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33941]}, cookies=[:]): {"two":2} }
18:09:04.616 [XNIO-8 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:04.629 [XNIO-8 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33941]}, cookies=[:]): {"two":2} }
18:09:04.638 [XNIO-8 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/html]}): <html><body>ok-html</body>
18:09:04.641 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7a796c22
18:09:04.662 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@67aedd35
18:09:04.683 [XNIO-9 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-1', selector sun.nio.ch.EPollSelectorImpl@4ae616c0
18:09:04.692 [XNIO-9 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7fcadb76
18:09:04.708 [XNIO-9 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-5', selector sun.nio.ch.EPollSelectorImpl@f208900
18:09:04.707 [XNIO-9 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-3', selector sun.nio.ch.EPollSelectorImpl@57e4e999
18:09:04.709 [XNIO-9 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-4', selector sun.nio.ch.EPollSelectorImpl@680a9f5f
18:09:04.710 [XNIO-9 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-6', selector sun.nio.ch.EPollSelectorImpl@36fb7ab1
18:09:04.721 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:04.731 [XNIO-9 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 Accept', selector sun.nio.ch.EPollSelectorImpl@27de6f1c
18:09:04.732 [XNIO-9 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-8', selector sun.nio.ch.EPollSelectorImpl@348bd942
18:09:04.732 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.735 [XNIO-9 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-9 I/O-7', selector sun.nio.ch.EPollSelectorImpl@28ec0088
18:09:04.758 [XNIO-9 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38443]}, cookies=[:]): {"one":"1","two":2} }
18:09:04.768 [XNIO-9 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:04.791 [XNIO-9 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38443]}, cookies=[:]): {"one":"1","two":2} }
18:09:04.793 [XNIO-9 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:04.796 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@67aedd35
18:09:04.805 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@51ff0420
18:09:04.811 [XNIO-9 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:04.831 [XNIO-10 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-1', selector sun.nio.ch.EPollSelectorImpl@5f8b5a6a
18:09:04.839 [XNIO-10 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-3', selector sun.nio.ch.EPollSelectorImpl@1f7238ad
18:09:04.847 [XNIO-10 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-4', selector sun.nio.ch.EPollSelectorImpl@502ebe5d
18:09:04.849 [XNIO-10 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-5', selector sun.nio.ch.EPollSelectorImpl@13178821
18:09:04.850 [XNIO-10 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2e8374d4
18:09:04.851 [XNIO-10 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-7', selector sun.nio.ch.EPollSelectorImpl@7ea58e17
18:09:04.831 [XNIO-10 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-2', selector sun.nio.ch.EPollSelectorImpl@766872b9
18:09:04.852 [XNIO-10 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 I/O-8', selector sun.nio.ch.EPollSelectorImpl@17407c62
18:09:04.863 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:04.864 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:04.875 [XNIO-10 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-10 Accept', selector sun.nio.ch.EPollSelectorImpl@284a54ec
18:09:04.975 [XNIO-10 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:44251]}, cookies=[:]): {"one":"1","two":2} }
18:09:04.979 [XNIO-10 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:04.999 [XNIO-10 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:44251]}, cookies=[:]): {"one":"1","two":2} }
18:09:05.003 [XNIO-10 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/csv]}): alpha,bravo,charlie
one,two,three
18:09:05.011 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@51ff0420
18:09:05.037 [XNIO-10 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:05.044 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@675897dc
18:09:05.051 [XNIO-11 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-1', selector sun.nio.ch.EPollSelectorImpl@46c2b876
18:09:05.052 [XNIO-11 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6924cae9
18:09:05.067 [XNIO-11 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-4', selector sun.nio.ch.EPollSelectorImpl@64fff7fe
18:09:05.068 [XNIO-11 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-5', selector sun.nio.ch.EPollSelectorImpl@76b1b12c
18:09:05.070 [XNIO-11 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-6', selector sun.nio.ch.EPollSelectorImpl@13429b0b
18:09:05.071 [XNIO-11 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-7', selector sun.nio.ch.EPollSelectorImpl@781677e4
18:09:05.072 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.072 [XNIO-11 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 Accept', selector sun.nio.ch.EPollSelectorImpl@5ccca5e6
18:09:05.070 [XNIO-11 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-3', selector sun.nio.ch.EPollSelectorImpl@516ad468
18:09:05.077 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.072 [XNIO-11 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-11 I/O-8', selector sun.nio.ch.EPollSelectorImpl@67b88119
18:09:05.146 [XNIO-11 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41889]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.148 [XNIO-11 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.155 [XNIO-11 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41889]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.157 [XNIO-11 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.159 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@675897dc
18:09:05.163 [XNIO-11 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:05.175 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@479f2cb
18:09:05.178 [XNIO-12 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-1', selector sun.nio.ch.EPollSelectorImpl@6e24cacd
18:09:05.184 [XNIO-12 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-2', selector sun.nio.ch.EPollSelectorImpl@3580df48
18:09:05.207 [XNIO-12 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6b5e4434
18:09:05.211 [XNIO-12 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-3', selector sun.nio.ch.EPollSelectorImpl@717ba95
18:09:05.215 [XNIO-12 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6618bfdf
18:09:05.215 [XNIO-12 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-6', selector sun.nio.ch.EPollSelectorImpl@95a813c
18:09:05.223 [XNIO-12 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-7', selector sun.nio.ch.EPollSelectorImpl@54339bbd
18:09:05.224 [XNIO-12 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 I/O-8', selector sun.nio.ch.EPollSelectorImpl@72e2fca2
18:09:05.227 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.228 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.231 [XNIO-12 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-12 Accept', selector sun.nio.ch.EPollSelectorImpl@2974b4fd
18:09:05.243 [XNIO-12 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40281]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.250 [XNIO-12 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.267 [XNIO-12 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40281]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.273 [XNIO-12 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.294 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@479f2cb
18:09:05.308 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1719a54d
18:09:05.310 [XNIO-13 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2cf9bed3
18:09:05.311 [XNIO-13 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5a956376
18:09:05.312 [XNIO-13 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5d1d184e
18:09:05.315 [XNIO-13 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-5', selector sun.nio.ch.EPollSelectorImpl@8c906b4
18:09:05.320 [XNIO-13 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-4', selector sun.nio.ch.EPollSelectorImpl@16237d7
18:09:05.320 [XNIO-13 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5a91166e
18:09:05.322 [XNIO-13 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-7', selector sun.nio.ch.EPollSelectorImpl@35fd6830
18:09:05.322 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.322 [XNIO-13 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5b9f6a35
18:09:05.323 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.323 [XNIO-13 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-13 Accept', selector sun.nio.ch.EPollSelectorImpl@62aef883
18:09:05.340 [XNIO-13 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36855]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.364 [XNIO-13 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.399 [XNIO-13 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36855]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.402 [XNIO-13 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.403 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1719a54d
18:09:05.418 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@74203334
18:09:05.422 [XNIO-14 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-2', selector sun.nio.ch.EPollSelectorImpl@2cb78cec
18:09:05.422 [XNIO-14 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-1', selector sun.nio.ch.EPollSelectorImpl@421e40be
18:09:05.423 [XNIO-14 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-3', selector sun.nio.ch.EPollSelectorImpl@15bd69ed
18:09:05.427 [XNIO-14 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4946ce7
18:09:05.451 [XNIO-14 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-5', selector sun.nio.ch.EPollSelectorImpl@39df695
18:09:05.466 [XNIO-14 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-6', selector sun.nio.ch.EPollSelectorImpl@78d4fdb3
18:09:05.467 [XNIO-14 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-7', selector sun.nio.ch.EPollSelectorImpl@7f89abb4
18:09:05.474 [XNIO-14 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1a9ebc56
18:09:05.479 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.480 [XNIO-14 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-14 Accept', selector sun.nio.ch.EPollSelectorImpl@2a4301e7
18:09:05.480 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.499 [XNIO-14 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45589]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.506 [XNIO-14 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.521 [XNIO-14 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45589]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.523 [XNIO-14 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.525 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@74203334
18:09:05.541 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5e40aba7
18:09:05.547 [XNIO-15 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-1', selector sun.nio.ch.EPollSelectorImpl@49a89e3f
18:09:05.547 [XNIO-15 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-2', selector sun.nio.ch.EPollSelectorImpl@38526806
18:09:05.548 [XNIO-15 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2e09f94b
18:09:05.549 [XNIO-15 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6894ab1e
18:09:05.550 [XNIO-15 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-6', selector sun.nio.ch.EPollSelectorImpl@518e8985
18:09:05.551 [XNIO-15 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4a4ecb20
18:09:05.547 [XNIO-15 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-3', selector sun.nio.ch.EPollSelectorImpl@f77e734
18:09:05.551 [XNIO-15 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5b1223db
18:09:05.555 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.555 [XNIO-15 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-15 Accept', selector sun.nio.ch.EPollSelectorImpl@58ee0620
18:09:05.556 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.567 [XNIO-15 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45421]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.569 [XNIO-15 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.579 [XNIO-15 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45421]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.583 [XNIO-15 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.585 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5e40aba7
18:09:05.596 [XNIO-15 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:05.602 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4593bfaa
18:09:05.607 [XNIO-16 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-1', selector sun.nio.ch.EPollSelectorImpl@6c3656e
18:09:05.608 [XNIO-16 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-2', selector sun.nio.ch.EPollSelectorImpl@30b3b7eb
18:09:05.612 [XNIO-16 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-3', selector sun.nio.ch.EPollSelectorImpl@78d20f4b
18:09:05.612 [XNIO-16 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-7', selector sun.nio.ch.EPollSelectorImpl@48fe6c
18:09:05.612 [XNIO-16 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-4', selector sun.nio.ch.EPollSelectorImpl@70ebd024
18:09:05.612 [XNIO-16 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2b5fbe42
18:09:05.612 [XNIO-16 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-5', selector sun.nio.ch.EPollSelectorImpl@c6e8416
18:09:05.612 [XNIO-16 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 I/O-8', selector sun.nio.ch.EPollSelectorImpl@8e2e86e
18:09:05.613 [XNIO-16 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-16 Accept', selector sun.nio.ch.EPollSelectorImpl@2335feaa
18:09:05.613 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.614 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.627 [XNIO-16 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41513]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.629 [XNIO-16 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.641 [XNIO-16 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41513]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.643 [XNIO-16 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.646 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4593bfaa
18:09:05.659 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@72010c1f
18:09:05.661 [XNIO-17 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-1', selector sun.nio.ch.EPollSelectorImpl@8303fff
18:09:05.663 [XNIO-17 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-2', selector sun.nio.ch.EPollSelectorImpl@597d65c8
18:09:05.671 [XNIO-17 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-3', selector sun.nio.ch.EPollSelectorImpl@53f2e96a
18:09:05.679 [XNIO-17 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-4', selector sun.nio.ch.EPollSelectorImpl@31906855
18:09:05.682 [XNIO-17 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7b97a63c
18:09:05.684 [XNIO-17 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-6', selector sun.nio.ch.EPollSelectorImpl@41556360
18:09:05.684 [XNIO-17 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-7', selector sun.nio.ch.EPollSelectorImpl@70301824
18:09:05.687 [XNIO-17 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5d511a50
18:09:05.691 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.691 [XNIO-17 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-17 Accept', selector sun.nio.ch.EPollSelectorImpl@346ba27d
18:09:05.693 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.714 [XNIO-17 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36571]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.717 [XNIO-17 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.723 [XNIO-17 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36571]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.726 [XNIO-17 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.728 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@72010c1f
18:09:05.735 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@3dd30eb3
18:09:05.743 [XNIO-18 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-1', selector sun.nio.ch.EPollSelectorImpl@ab551f3
18:09:05.744 [XNIO-18 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-2', selector sun.nio.ch.EPollSelectorImpl@55dc2a69
18:09:05.744 [XNIO-18 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-3', selector sun.nio.ch.EPollSelectorImpl@23a7cb68
18:09:05.749 [XNIO-18 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-4', selector sun.nio.ch.EPollSelectorImpl@41f1d807
18:09:05.749 [XNIO-18 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5a9fbba0
18:09:05.749 [XNIO-18 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-7', selector sun.nio.ch.EPollSelectorImpl@37b25617
18:09:05.749 [XNIO-18 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5d146d3d
18:09:05.751 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.750 [XNIO-18 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 I/O-8', selector sun.nio.ch.EPollSelectorImpl@608ce10a
18:09:05.751 [XNIO-18 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-18 Accept', selector sun.nio.ch.EPollSelectorImpl@3e513ecd
18:09:05.757 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.760 [XNIO-18 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35757]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.762 [XNIO-18 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.771 [XNIO-18 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35757]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.773 [XNIO-18 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.775 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@3dd30eb3
18:09:05.787 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@17ee0383
18:09:05.790 [XNIO-19 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1ac462f4
18:09:05.790 [XNIO-19 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-2', selector sun.nio.ch.EPollSelectorImpl@446f4426
18:09:05.793 [XNIO-19 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-3', selector sun.nio.ch.EPollSelectorImpl@bcda41d
18:09:05.796 [XNIO-19 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-4', selector sun.nio.ch.EPollSelectorImpl@16f355a4
18:09:05.797 [XNIO-19 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-5', selector sun.nio.ch.EPollSelectorImpl@55722e8d
18:09:05.797 [XNIO-19 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-6', selector sun.nio.ch.EPollSelectorImpl@300af4fb
18:09:05.799 [XNIO-19 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2b895be6
18:09:05.805 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.806 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.797 [XNIO-19 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 I/O-7', selector sun.nio.ch.EPollSelectorImpl@633f6c2e
18:09:05.810 [XNIO-19 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-19 Accept', selector sun.nio.ch.EPollSelectorImpl@27274631
18:09:05.815 [XNIO-19 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41583]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.820 [XNIO-19 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.828 [XNIO-19 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41583]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.830 [XNIO-19 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:05.832 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@17ee0383
18:09:05.845 [XNIO-19 task-2] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ PATCH /charlie request {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:41583]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[text/plain], Content-Length=[27], Date=[Sat, 10 Aug 2019 23:09:02 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:05.853 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@44df1bf
18:09:05.858 [XNIO-20 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-1', selector sun.nio.ch.EPollSelectorImpl@225d4a45
18:09:05.859 [XNIO-20 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-2', selector sun.nio.ch.EPollSelectorImpl@15e85e57
18:09:05.859 [XNIO-20 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-3', selector sun.nio.ch.EPollSelectorImpl@774164b1
18:09:05.859 [XNIO-20 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-4', selector sun.nio.ch.EPollSelectorImpl@19c83042
18:09:05.861 [XNIO-20 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7bd157a6
18:09:05.869 [XNIO-20 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-6', selector sun.nio.ch.EPollSelectorImpl@41828b4d
18:09:05.911 [XNIO-20 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1f665cd9
18:09:05.915 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:05.911 [XNIO-20 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5fe83ddf
18:09:05.920 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:05.918 [XNIO-20 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-20 Accept', selector sun.nio.ch.EPollSelectorImpl@7ed0a38c
18:09:05.967 [XNIO-20 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45655]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:05.976 [XNIO-20 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.028 [XNIO-20 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45655]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.030 [XNIO-20 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.032 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@44df1bf
18:09:06.044 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4656ac46
18:09:06.051 [XNIO-21 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-1', selector sun.nio.ch.EPollSelectorImpl@7782aeca
18:09:06.055 [XNIO-21 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7c7f9898
18:09:06.065 [XNIO-21 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-5', selector sun.nio.ch.EPollSelectorImpl@f40fa0c
18:09:06.055 [XNIO-21 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-3', selector sun.nio.ch.EPollSelectorImpl@27997d47
18:09:06.055 [XNIO-21 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-4', selector sun.nio.ch.EPollSelectorImpl@363d11dd
18:09:06.072 [XNIO-21 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-6', selector sun.nio.ch.EPollSelectorImpl@6d9395b
18:09:06.080 [XNIO-21 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-7', selector sun.nio.ch.EPollSelectorImpl@263edb78
18:09:06.083 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.083 [XNIO-21 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 I/O-8', selector sun.nio.ch.EPollSelectorImpl@13b83edc
18:09:06.083 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.088 [XNIO-21 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-21 Accept', selector sun.nio.ch.EPollSelectorImpl@11717457
18:09:06.101 [XNIO-21 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:46727]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.103 [XNIO-21 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.111 [XNIO-21 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:46727]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.113 [XNIO-21 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.115 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4656ac46
18:09:06.134 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@2b76129b
18:09:06.137 [XNIO-22 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-1', selector sun.nio.ch.EPollSelectorImpl@551b07aa
18:09:06.143 [XNIO-22 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-2', selector sun.nio.ch.EPollSelectorImpl@26119359
18:09:06.143 [XNIO-22 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-3', selector sun.nio.ch.EPollSelectorImpl@51fbf54f
18:09:06.145 [XNIO-22 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6e72c31f
18:09:06.146 [XNIO-22 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5705ca86
18:09:06.151 [XNIO-22 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1b574b3
18:09:06.153 [XNIO-22 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4f2bb468
18:09:06.153 [XNIO-22 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 I/O-8', selector sun.nio.ch.EPollSelectorImpl@13420131
18:09:06.167 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.167 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.179 [XNIO-22 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-22 Accept', selector sun.nio.ch.EPollSelectorImpl@366dd8a0
18:09:06.206 [XNIO-22 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:43421]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@1eb7737e]): {"alpha":"bravo","charlie":42} }
18:09:06.226 [XNIO-22 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.235 [XNIO-22 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:43421]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@771af40f]): {"alpha":"bravo","charlie":42} }
18:09:06.237 [XNIO-22 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.239 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@2b76129b
18:09:06.244 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@20bcbefe
18:09:06.246 [XNIO-23 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1b440438
18:09:06.246 [XNIO-23 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-2', selector sun.nio.ch.EPollSelectorImpl@652bb97
18:09:06.251 [XNIO-23 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1d8ab6b2
18:09:06.263 [XNIO-23 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-6', selector sun.nio.ch.EPollSelectorImpl@538559d
18:09:06.248 [XNIO-23 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-3', selector sun.nio.ch.EPollSelectorImpl@32037147
18:09:06.263 [XNIO-23 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-5', selector sun.nio.ch.EPollSelectorImpl@485ad201
18:09:06.269 [XNIO-23 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2962552e
18:09:06.271 [XNIO-23 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 I/O-8', selector sun.nio.ch.EPollSelectorImpl@d105920
18:09:06.272 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.272 [XNIO-23 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-23 Accept', selector sun.nio.ch.EPollSelectorImpl@68b02b3a
18:09:06.272 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.283 [XNIO-23 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:42925]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@2c8f4ac1, flavor:ersatz.undertow.server.handlers.CookieImpl@2248a120]): {"alpha":"bravo","charlie":42} }
18:09:06.285 [XNIO-23 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.299 [XNIO-23 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:42925]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@7f8d170b, flavor:ersatz.undertow.server.handlers.CookieImpl@714ae68a]): {"alpha":"bravo","charlie":42} }
18:09:06.301 [XNIO-23 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.303 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@20bcbefe
18:09:06.315 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@9216d9d
18:09:06.333 [XNIO-24 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-1', selector sun.nio.ch.EPollSelectorImpl@585cc9eb
18:09:06.334 [XNIO-24 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-2', selector sun.nio.ch.EPollSelectorImpl@1c4243e6
18:09:06.338 [XNIO-24 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-3', selector sun.nio.ch.EPollSelectorImpl@200816c0
18:09:06.340 [XNIO-24 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4cc01b6a
18:09:06.340 [XNIO-24 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-5', selector sun.nio.ch.EPollSelectorImpl@352477a5
18:09:06.341 [XNIO-24 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-6', selector sun.nio.ch.EPollSelectorImpl@565ea1d9
18:09:06.343 [XNIO-24 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2f8f9515
18:09:06.348 [XNIO-24 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 I/O-8', selector sun.nio.ch.EPollSelectorImpl@492a42b6
18:09:06.349 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.349 [XNIO-24 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-24 Accept', selector sun.nio.ch.EPollSelectorImpl@7ee3878d
18:09:06.350 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.375 [XNIO-24 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39205]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.379 [XNIO-24 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.387 [XNIO-24 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39205]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.389 [XNIO-24 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.390 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@9216d9d
18:09:06.396 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1be6afc1
18:09:06.398 [XNIO-25 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-1', selector sun.nio.ch.EPollSelectorImpl@c8b08f6
18:09:06.398 [XNIO-25 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-2', selector sun.nio.ch.EPollSelectorImpl@365594f9
18:09:06.398 [XNIO-25 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-6', selector sun.nio.ch.EPollSelectorImpl@554f595d
18:09:06.399 [XNIO-25 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-7', selector sun.nio.ch.EPollSelectorImpl@259a3afa
18:09:06.400 [XNIO-25 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-8', selector sun.nio.ch.EPollSelectorImpl@66d62ef9
18:09:06.406 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.398 [XNIO-25 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-3', selector sun.nio.ch.EPollSelectorImpl@21ce0fc2
18:09:06.398 [XNIO-25 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7642c708
18:09:06.398 [XNIO-25 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4890af10
18:09:06.406 [XNIO-25 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-25 Accept', selector sun.nio.ch.EPollSelectorImpl@774c3718
18:09:06.407 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.415 [XNIO-25 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33249]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.416 [XNIO-25 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.423 [XNIO-25 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33249]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.424 [XNIO-25 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.426 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1be6afc1
18:09:06.430 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1b884e02
18:09:06.437 [XNIO-26 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-1', selector sun.nio.ch.EPollSelectorImpl@58f2a6ff
18:09:06.438 [XNIO-26 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3380b545
18:09:06.439 [XNIO-26 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-2', selector sun.nio.ch.EPollSelectorImpl@73dc5fdc
18:09:06.446 [XNIO-26 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3a00b364
18:09:06.446 [XNIO-26 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-4', selector sun.nio.ch.EPollSelectorImpl@7e0d2fcf
18:09:06.449 [XNIO-26 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4e261477
18:09:06.452 [XNIO-26 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-7', selector sun.nio.ch.EPollSelectorImpl@79529805
18:09:06.453 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.454 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.455 [XNIO-26 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 I/O-8', selector sun.nio.ch.EPollSelectorImpl@3e03bcb5
18:09:06.458 [XNIO-26 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-26 Accept', selector sun.nio.ch.EPollSelectorImpl@6c3dc56c
18:09:06.475 [XNIO-26 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:46649]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@fb6294f]): {"alpha":"bravo","charlie":42} }
18:09:06.477 [XNIO-26 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.483 [XNIO-26 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:46649]}, cookies=[flavor:ersatz.undertow.server.handlers.CookieImpl@6baa416d]): {"alpha":"bravo","charlie":42} }
18:09:06.485 [XNIO-26 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.486 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1b884e02
18:09:06.491 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@22831177
18:09:06.498 [XNIO-27 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-5', selector sun.nio.ch.EPollSelectorImpl@49e51686
18:09:06.498 [XNIO-27 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-4', selector sun.nio.ch.EPollSelectorImpl@74b3dbcb
18:09:06.498 [XNIO-27 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-1', selector sun.nio.ch.EPollSelectorImpl@3c4fd784
18:09:06.498 [XNIO-27 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-3', selector sun.nio.ch.EPollSelectorImpl@12cf9d86
18:09:06.505 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.507 [XNIO-27 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-7', selector sun.nio.ch.EPollSelectorImpl@43390ce8
18:09:06.507 [XNIO-27 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-6', selector sun.nio.ch.EPollSelectorImpl@591215cb
18:09:06.507 [XNIO-27 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-8', selector sun.nio.ch.EPollSelectorImpl@5c6195b9
18:09:06.507 [XNIO-27 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 I/O-2', selector sun.nio.ch.EPollSelectorImpl@11d084c7
18:09:06.507 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.510 [XNIO-27 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-27 Accept', selector sun.nio.ch.EPollSelectorImpl@1bbe6c13
18:09:06.524 [XNIO-27 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38117]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@1c78ace0, flavor:ersatz.undertow.server.handlers.CookieImpl@12bf411f]): {"alpha":"bravo","charlie":42} }
18:09:06.527 [XNIO-27 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.533 [XNIO-27 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38117]}, cookies=[count:ersatz.undertow.server.handlers.CookieImpl@3454a7d5, flavor:ersatz.undertow.server.handlers.CookieImpl@3a935f2f]): {"alpha":"bravo","charlie":42} }
18:09:06.536 [XNIO-27 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/date]}): 2016.08.25 14:43
18:09:06.538 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@22831177
18:09:06.566 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4f97b5ac
18:09:06.568 [XNIO-28 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-1', selector sun.nio.ch.EPollSelectorImpl@73ff548
18:09:06.576 [XNIO-28 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-2', selector sun.nio.ch.EPollSelectorImpl@77c4bbbe
18:09:06.579 [XNIO-28 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4adcda97
18:09:06.580 [XNIO-28 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4ddc3298
18:09:06.581 [XNIO-28 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-7', selector sun.nio.ch.EPollSelectorImpl@5d78a303
18:09:06.582 [XNIO-28 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4631e0b4
18:09:06.582 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.578 [XNIO-28 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-4', selector sun.nio.ch.EPollSelectorImpl@74e9e289
18:09:06.577 [XNIO-28 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 I/O-3', selector sun.nio.ch.EPollSelectorImpl@462c3630
18:09:06.583 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.589 [XNIO-28 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-28 Accept', selector sun.nio.ch.EPollSelectorImpl@5366d448
18:09:06.604 [XNIO-28 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:42545]} response {}}
18:09:06.604 [XNIO-28 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.610 [XNIO-28 task-1] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:42545]} response {}}
18:09:06.624 [XNIO-28 task-1] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:06.643 [XNIO-28 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@23e0e28d for /basic
18:09:06.644 [XNIO-28 task-1] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:06.644 [XNIO-28 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:42545]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.646 [XNIO-28 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:06.665 [XNIO-28 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:42545]} response {}}
18:09:06.665 [XNIO-28 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.666 [XNIO-28 task-2] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:42545]} response {}}
18:09:06.666 [XNIO-28 task-2] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:06.666 [XNIO-28 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@23e0e28d for /basic
18:09:06.666 [XNIO-28 task-2] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:06.666 [XNIO-28 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:42545]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.667 [XNIO-28 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:06.669 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4f97b5ac
18:09:06.674 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@542d4599
18:09:06.675 [XNIO-29 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-1', selector sun.nio.ch.EPollSelectorImpl@76cd8f2f
18:09:06.676 [XNIO-29 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-3', selector sun.nio.ch.EPollSelectorImpl@195589c7
18:09:06.676 [XNIO-29 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5afe2633
18:09:06.687 [XNIO-29 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-4', selector sun.nio.ch.EPollSelectorImpl@3d0d63f9
18:09:06.687 [XNIO-29 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-5', selector sun.nio.ch.EPollSelectorImpl@13137537
18:09:06.691 [XNIO-29 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5b9cd83b
18:09:06.703 [XNIO-29 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1224a7e4
18:09:06.703 [XNIO-29 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4d389da5
18:09:06.703 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.704 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.707 [XNIO-29 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-29 Accept', selector sun.nio.ch.EPollSelectorImpl@771548f1
18:09:06.778 [XNIO-29 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:43757]} response {}}
18:09:06.778 [XNIO-29 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.778 [XNIO-29 task-3] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:43757]} response {}}
18:09:06.778 [XNIO-29 task-3] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:06.778 [XNIO-29 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@74cf30ee for /basic
18:09:06.778 [XNIO-29 task-3] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:06.778 [XNIO-29 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:43757]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.780 [XNIO-29 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:06.784 [XNIO-29 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:43757]} response {}}
18:09:06.784 [XNIO-29 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.785 [XNIO-29 task-4] DEBUG ersatz.undertow.request.security - Found basic auth header admin:$3cr3t (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:43757]} response {}}
18:09:06.785 [XNIO-29 task-4] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:06.785 [XNIO-29 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@74cf30ee for /basic
18:09:06.785 [XNIO-29 task-4] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /basic
18:09:06.785 [XNIO-29 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:43757]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:06.786 [XNIO-29 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:06.788 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@542d4599
18:09:06.797 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4b1fe1cb
18:09:06.811 [XNIO-30 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-1', selector sun.nio.ch.EPollSelectorImpl@21cd9a10
18:09:06.811 [XNIO-30 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-3', selector sun.nio.ch.EPollSelectorImpl@6869bf4b
18:09:06.812 [XNIO-30 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5ca9fede
18:09:06.815 [XNIO-30 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-6', selector sun.nio.ch.EPollSelectorImpl@656476e3
18:09:06.811 [XNIO-30 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-2', selector sun.nio.ch.EPollSelectorImpl@c3924b0
18:09:06.823 [XNIO-30 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-7', selector sun.nio.ch.EPollSelectorImpl@7a94d3d0
18:09:06.811 [XNIO-30 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-4', selector sun.nio.ch.EPollSelectorImpl@34b36505
18:09:06.827 [XNIO-30 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7b534709
18:09:06.827 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.827 [XNIO-30 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-30 Accept', selector sun.nio.ch.EPollSelectorImpl@299dd04d
18:09:06.828 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.838 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.838 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.838 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.839 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.839 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@3aa06160 for /basic
18:09:06.839 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.840 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ PATCH /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:41095]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:06.841 [XNIO-30 task-1] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@3aa06160 for /basic
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:41095]} response {}}
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ PATCH /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:41095]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:06.863 [XNIO-30 task-2] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:06.867 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4b1fe1cb
18:09:06.871 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@eb9211f
18:09:06.875 [XNIO-31 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-1', selector sun.nio.ch.EPollSelectorImpl@f5a0d7d
18:09:06.876 [XNIO-31 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-2', selector sun.nio.ch.EPollSelectorImpl@a2bf418
18:09:06.878 [XNIO-31 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5fe45ba0
18:09:06.878 [XNIO-31 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1ea9612a
18:09:06.880 [XNIO-31 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-5', selector sun.nio.ch.EPollSelectorImpl@110d9819
18:09:06.882 [XNIO-31 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-6', selector sun.nio.ch.EPollSelectorImpl@6c324dbe
18:09:06.882 [XNIO-31 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-8', selector sun.nio.ch.EPollSelectorImpl@37678d77
18:09:06.882 [XNIO-31 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 I/O-7', selector sun.nio.ch.EPollSelectorImpl@34ac19
18:09:06.883 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.883 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:06.886 [XNIO-31 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-31 Accept', selector sun.nio.ch.EPollSelectorImpl@2e30b465
18:09:06.945 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@65240742 for /basic
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ PATCH /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:41075]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:06.946 [XNIO-31 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:06.956 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.956 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /basic, authentication required: true
18:09:06.956 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Found basic auth header guest:blah (decoded using charset UTF-8) in HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.956 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'guest' and mechanism BASIC for HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.956 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.BasicAuthenticationMechanism@65240742 for /basic
18:09:06.956 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:41075]} response {}}
18:09:06.957 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Sending basic auth challenge Basic realm="BasicTesting" for HttpServerExchange{ PATCH /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:41075]} response {WWW-Authenticate=[Basic realm="BasicTesting"]}}
18:09:06.957 [XNIO-31 task-4] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /basic
18:09:06.958 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@eb9211f
18:09:06.983 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@1e5a6130
18:09:06.987 [XNIO-32 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-1', selector sun.nio.ch.EPollSelectorImpl@557429bd
18:09:06.990 [XNIO-32 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3b80be73
18:09:06.991 [XNIO-32 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-4', selector sun.nio.ch.EPollSelectorImpl@29710280
18:09:06.990 [XNIO-32 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6f216203
18:09:06.991 [XNIO-32 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2e24bd70
18:09:06.995 [XNIO-32 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-7', selector sun.nio.ch.EPollSelectorImpl@23ae72e9
18:09:06.995 [XNIO-32 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-6', selector sun.nio.ch.EPollSelectorImpl@797a641a
18:09:06.999 [XNIO-32 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 I/O-8', selector sun.nio.ch.EPollSelectorImpl@78252e7c
18:09:06.999 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:06.999 [XNIO-32 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-32 Accept', selector sun.nio.ch.EPollSelectorImpl@65971fc2
18:09:07.000 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.015 [XNIO-32 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:39695]} response {}}
18:09:07.015 [XNIO-32 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.015 [XNIO-32 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6be51345 for /digest
18:09:07.015 [XNIO-32 task-1] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:39695]} response {}}
18:09:07.017 [XNIO-32 task-1] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.029 [XNIO-32 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="6330958b09bfeef045ccd0a31d49996d", qop=auth, nc=00000001, cnonce="b7d3c4bc82c12bdd", 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:39695]} response {}}
18:09:07.030 [XNIO-32 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.032 [XNIO-32 task-2] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="6330958b09bfeef045ccd0a31d49996d", qop=auth, nc=00000001, cnonce="b7d3c4bc82c12bdd", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="6330958b09bfeef045ccd0a31d49996d", qop=auth, nc=00000001, cnonce="b7d3c4bc82c12bdd", 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:39695]} response {}}
18:09:07.040 [XNIO-32 task-2] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:07.040 [XNIO-32 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6be51345 for /digest
18:09:07.041 [XNIO-32 task-2] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:07.041 [XNIO-32 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="6330958b09bfeef045ccd0a31d49996d", qop=auth, nc=00000001, cnonce="b7d3c4bc82c12bdd", 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:39695]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.042 [XNIO-32 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=",qop="auth",rspauth="b249412b76fafae1fca2954ee6817715",cnonce="b7d3c4bc82c12bdd",nc=00000001], Content-Type=[text/plain]}): ok-text
18:09:07.067 [XNIO-32 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="cc162ffb2b66d8433a88a3f2407e57ff", qop=auth, nc=00000002, cnonce="b7d3c4bc82c12bdd", 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:39695]} response {}}
18:09:07.067 [XNIO-32 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.067 [XNIO-32 task-3] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="cc162ffb2b66d8433a88a3f2407e57ff", qop=auth, nc=00000002, cnonce="b7d3c4bc82c12bdd", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="cc162ffb2b66d8433a88a3f2407e57ff", qop=auth, nc=00000002, cnonce="b7d3c4bc82c12bdd", 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:39695]} response {}}
18:09:07.075 [XNIO-32 task-3] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:07.075 [XNIO-32 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@6be51345 for /digest
18:09:07.076 [XNIO-32 task-3] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:07.076 [XNIO-32 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=", uri="/digest", response="cc162ffb2b66d8433a88a3f2407e57ff", qop=auth, nc=00000002, cnonce="b7d3c4bc82c12bdd", 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:39695]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.077 [XNIO-32 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="wt6cmTY/LD0NMTU2NTQ3ODU0NzAxNgs2YH5LuWnTR/NGYKjsMww=",qop="auth",rspauth="420d1bbda72eca07187a1f9feebb3d8c",cnonce="b7d3c4bc82c12bdd",nc=00000002], Content-Type=[text/plain]}): ok-text
18:09:07.078 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@1e5a6130
18:09:07.084 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4f5848da
18:09:07.086 [XNIO-32 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: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:07.091 [XNIO-33 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2a3c462d
18:09:07.092 [XNIO-33 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-2', selector sun.nio.ch.EPollSelectorImpl@2db979e4
18:09:07.092 [XNIO-33 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-3', selector sun.nio.ch.EPollSelectorImpl@41092596
18:09:07.099 [XNIO-33 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2a7a514f
18:09:07.103 [XNIO-33 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-5', selector sun.nio.ch.EPollSelectorImpl@75acbd7c
18:09:07.109 [XNIO-33 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4296d01
18:09:07.115 [XNIO-33 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-7', selector sun.nio.ch.EPollSelectorImpl@52f5507d
18:09:07.127 [XNIO-33 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 I/O-8', selector sun.nio.ch.EPollSelectorImpl@34548477
18:09:07.131 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.131 [XNIO-33 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-33 Accept', selector sun.nio.ch.EPollSelectorImpl@2487f44a
18:09:07.132 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.207 [XNIO-33 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:37657]} response {}}
18:09:07.207 [XNIO-33 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.207 [XNIO-33 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@14eb72e4 for /digest
18:09:07.207 [XNIO-33 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:37657]} response {}}
18:09:07.208 [XNIO-33 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.215 [XNIO-33 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="56b93fb72df1190d9941d819e9070c37", qop=auth, nc=00000001, cnonce="8b3a0e839315dda4", 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:37657]} response {}}
18:09:07.215 [XNIO-33 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.215 [XNIO-33 task-4] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="56b93fb72df1190d9941d819e9070c37", qop=auth, nc=00000001, cnonce="8b3a0e839315dda4", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="56b93fb72df1190d9941d819e9070c37", qop=auth, nc=00000001, cnonce="8b3a0e839315dda4", 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:37657]} response {}}
18:09:07.216 [XNIO-33 task-4] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:07.216 [XNIO-33 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@14eb72e4 for /digest
18:09:07.216 [XNIO-33 task-4] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:07.216 [XNIO-33 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="56b93fb72df1190d9941d819e9070c37", qop=auth, nc=00000001, cnonce="8b3a0e839315dda4", 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:37657]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.217 [XNIO-33 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=",qop="auth",rspauth="41e44bb7d0300e98c38c5c7fc0b960f0",cnonce="8b3a0e839315dda4",nc=00000001], Content-Type=[text/plain]}): ok-text
18:09:07.231 [XNIO-33 task-5] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="0d51f79b7667960febb7e875cc83c28a", qop=auth, nc=00000002, cnonce="8b3a0e839315dda4", 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:37657]} response {}}
18:09:07.231 [XNIO-33 task-5] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.231 [XNIO-33 task-5] DEBUG ersatz.undertow.request.security - Found digest header Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="0d51f79b7667960febb7e875cc83c28a", qop=auth, nc=00000002, cnonce="8b3a0e839315dda4", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="0d51f79b7667960febb7e875cc83c28a", qop=auth, nc=00000002, cnonce="8b3a0e839315dda4", 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:37657]} response {}}
18:09:07.232 [XNIO-33 task-5] DEBUG ersatz.undertow.request.security - Authenticated as admin, roles [TESTER]
18:09:07.232 [XNIO-33 task-5] DEBUG ersatz.undertow.request.security - Authentication outcome was AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@14eb72e4 for /digest
18:09:07.232 [XNIO-33 task-5] DEBUG ersatz.undertow.request.security - Authentication result was AUTHENTICATED for /digest
18:09:07.232 [XNIO-33 task-5] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /digest (query=[:], headers={Connection=[Keep-Alive], Authorization=[Digest username="admin", realm="DigestTesting", nonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=", uri="/digest", response="0d51f79b7667960febb7e875cc83c28a", qop=auth, nc=00000002, cnonce="8b3a0e839315dda4", 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:37657]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.233 [XNIO-33 task-5] DEBUG com.stehno.ersatz.ErsatzServer - Response({Authentication-Info=[nextnonce="j8aDhxNNiuQNMTU2NTQ3ODU0NzIwN9yX6O0viDfk1Y2iIeFUDH4=",qop="auth",rspauth="00f7cc38ead2421e9e8f03347f96d510",cnonce="8b3a0e839315dda4",nc=00000002], Content-Type=[text/plain]}): ok-text
18:09:07.235 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4f5848da
18:09:07.245 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6f7da3a5
18:09:07.250 [XNIO-34 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-1', selector sun.nio.ch.EPollSelectorImpl@57ddfc26
18:09:07.251 [XNIO-34 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3ccefc3f
18:09:07.251 [XNIO-34 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-4', selector sun.nio.ch.EPollSelectorImpl@473205ae
18:09:07.250 [XNIO-34 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-2', selector sun.nio.ch.EPollSelectorImpl@62169bc0
18:09:07.255 [XNIO-34 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7d33e1b2
18:09:07.257 [XNIO-34 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-7', selector sun.nio.ch.EPollSelectorImpl@4530c744
18:09:07.255 [XNIO-34 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-6', selector sun.nio.ch.EPollSelectorImpl@74e0a1a7
18:09:07.258 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.258 [XNIO-34 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 Accept', selector sun.nio.ch.EPollSelectorImpl@2afc7099
18:09:07.262 [XNIO-34 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-34 I/O-8', selector sun.nio.ch.EPollSelectorImpl@15d8e118
18:09:07.262 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.273 [XNIO-34 task-1] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:40397]} response {}}
18:09:07.273 [XNIO-34 task-1] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.274 [XNIO-34 task-1] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@26b3c1fb for /digest
18:09:07.274 [XNIO-34 task-1] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:40397]} response {}}
18:09:07.274 [XNIO-34 task-1] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.279 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="VcbDbmyCPmcNMTU2NTQ3ODU0NzI3NDBJ5lcLYf9Up9S7x5a6STI=", uri="/digest", response="d15fbeb5940f9bba0fd940c2c81b7f9b", qop=auth, nc=00000001, cnonce="7174c373c6c7b61d", 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:40397]} response {}}
18:09:07.280 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.281 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="VcbDbmyCPmcNMTU2NTQ3ODU0NzI3NDBJ5lcLYf9Up9S7x5a6STI=", uri="/digest", response="d15fbeb5940f9bba0fd940c2c81b7f9b", qop=auth, nc=00000001, cnonce="7174c373c6c7b61d", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="VcbDbmyCPmcNMTU2NTQ3ODU0NzI3NDBJ5lcLYf9Up9S7x5a6STI=", uri="/digest", response="d15fbeb5940f9bba0fd940c2c81b7f9b", qop=auth, nc=00000001, cnonce="7174c373c6c7b61d", 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:40397]} response {}}
18:09:07.281 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="VcbDbmyCPmcNMTU2NTQ3ODU0NzI3NDBJ5lcLYf9Up9S7x5a6STI=", uri="/digest", response="d15fbeb5940f9bba0fd940c2c81b7f9b", qop=auth, nc=00000001, cnonce="7174c373c6c7b61d", 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:40397]} response {}}
18:09:07.282 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@26b3c1fb for /digest
18:09:07.282 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="VcbDbmyCPmcNMTU2NTQ3ODU0NzI3NDBJ5lcLYf9Up9S7x5a6STI=", uri="/digest", response="d15fbeb5940f9bba0fd940c2c81b7f9b", qop=auth, nc=00000001, cnonce="7174c373c6c7b61d", 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:40397]} response {}}
18:09:07.283 [XNIO-34 task-2] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.295 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="AtZD5Co2+WUNMTU2NTQ3ODU0NzI4M7jdmRfqmTjnh1qut+RH2CU=", uri="/digest", response="0783a0a8e51e6902b1e7173f76254e1f", qop=auth, nc=00000001, cnonce="86ab1677f9241ed1", 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:40397]} response {}}
18:09:07.295 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.295 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="AtZD5Co2+WUNMTU2NTQ3ODU0NzI4M7jdmRfqmTjnh1qut+RH2CU=", uri="/digest", response="0783a0a8e51e6902b1e7173f76254e1f", qop=auth, nc=00000001, cnonce="86ab1677f9241ed1", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="AtZD5Co2+WUNMTU2NTQ3ODU0NzI4M7jdmRfqmTjnh1qut+RH2CU=", uri="/digest", response="0783a0a8e51e6902b1e7173f76254e1f", qop=auth, nc=00000001, cnonce="86ab1677f9241ed1", 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:40397]} response {}}
18:09:07.296 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="AtZD5Co2+WUNMTU2NTQ3ODU0NzI4M7jdmRfqmTjnh1qut+RH2CU=", uri="/digest", response="0783a0a8e51e6902b1e7173f76254e1f", qop=auth, nc=00000001, cnonce="86ab1677f9241ed1", 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:40397]} response {}}
18:09:07.296 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@26b3c1fb for /digest
18:09:07.296 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="AtZD5Co2+WUNMTU2NTQ3ODU0NzI4M7jdmRfqmTjnh1qut+RH2CU=", uri="/digest", response="0783a0a8e51e6902b1e7173f76254e1f", qop=auth, nc=00000001, cnonce="86ab1677f9241ed1", 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:40397]} response {}}
18:09:07.296 [XNIO-34 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.301 [XNIO-34 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:40397]} response {}}
18:09:07.302 [XNIO-34 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.302 [XNIO-34 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@26b3c1fb for /digest
18:09:07.302 [XNIO-34 task-4] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:40397]} response {}}
18:09:07.302 [XNIO-34 task-4] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.306 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="8UQfBMY/qy8NMTU2NTQ3ODU0NzMwMp1sGz9UbvvYZRT4l5UXrEM=", uri="/digest", response="09409f8f30e49729043286ac865791a8", qop=auth, nc=00000001, cnonce="049b0d5f0e72b0b5", 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:40397]} response {}}
18:09:07.306 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.306 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="8UQfBMY/qy8NMTU2NTQ3ODU0NzMwMp1sGz9UbvvYZRT4l5UXrEM=", uri="/digest", response="09409f8f30e49729043286ac865791a8", qop=auth, nc=00000001, cnonce="049b0d5f0e72b0b5", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="8UQfBMY/qy8NMTU2NTQ3ODU0NzMwMp1sGz9UbvvYZRT4l5UXrEM=", uri="/digest", response="09409f8f30e49729043286ac865791a8", qop=auth, nc=00000001, cnonce="049b0d5f0e72b0b5", 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:40397]} response {}}
18:09:07.307 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="8UQfBMY/qy8NMTU2NTQ3ODU0NzMwMp1sGz9UbvvYZRT4l5UXrEM=", uri="/digest", response="09409f8f30e49729043286ac865791a8", qop=auth, nc=00000001, cnonce="049b0d5f0e72b0b5", 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:40397]} response {}}
18:09:07.307 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@26b3c1fb for /digest
18:09:07.307 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="8UQfBMY/qy8NMTU2NTQ3ODU0NzMwMp1sGz9UbvvYZRT4l5UXrEM=", uri="/digest", response="09409f8f30e49729043286ac865791a8", qop=auth, nc=00000001, cnonce="049b0d5f0e72b0b5", 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:40397]} response {}}
18:09:07.307 [XNIO-34 task-5] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.309 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6f7da3a5
18:09:07.317 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@71dea964
18:09:07.321 [XNIO-35 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-1', selector sun.nio.ch.EPollSelectorImpl@58d53697
18:09:07.323 [XNIO-35 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-2', selector sun.nio.ch.EPollSelectorImpl@77e0a70b
18:09:07.327 [XNIO-35 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-3', selector sun.nio.ch.EPollSelectorImpl@17161059
18:09:07.328 [XNIO-35 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2586c60d
18:09:07.328 [XNIO-35 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-5', selector sun.nio.ch.EPollSelectorImpl@393b1b48
18:09:07.328 [XNIO-35 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5ac1df2f
18:09:07.328 [XNIO-35 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-7', selector sun.nio.ch.EPollSelectorImpl@54b844c4
18:09:07.331 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.331 [XNIO-35 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7b065fa4
18:09:07.331 [XNIO-35 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-35 Accept', selector sun.nio.ch.EPollSelectorImpl@6c364496
18:09:07.332 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.399 [XNIO-35 task-3] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:39091]} response {}}
18:09:07.399 [XNIO-35 task-3] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.399 [XNIO-35 task-3] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@57337ebf for /digest
18:09:07.399 [XNIO-35 task-3] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:39091]} response {}}
18:09:07.400 [XNIO-35 task-3] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.408 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="6W9SpSZWYQcNMTU2NTQ3ODU0NzM5OZfORGV5b3/YBSuQNh4tsCU=", uri="/digest", response="4b296a8c4832de30ca53c3bc1e0a39d1", qop=auth, nc=00000001, cnonce="b13016c42d949b57", 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:39091]} response {}}
18:09:07.408 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.408 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="6W9SpSZWYQcNMTU2NTQ3ODU0NzM5OZfORGV5b3/YBSuQNh4tsCU=", uri="/digest", response="4b296a8c4832de30ca53c3bc1e0a39d1", qop=auth, nc=00000001, cnonce="b13016c42d949b57", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="6W9SpSZWYQcNMTU2NTQ3ODU0NzM5OZfORGV5b3/YBSuQNh4tsCU=", uri="/digest", response="4b296a8c4832de30ca53c3bc1e0a39d1", qop=auth, nc=00000001, cnonce="b13016c42d949b57", 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:39091]} response {}}
18:09:07.408 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="6W9SpSZWYQcNMTU2NTQ3ODU0NzM5OZfORGV5b3/YBSuQNh4tsCU=", uri="/digest", response="4b296a8c4832de30ca53c3bc1e0a39d1", qop=auth, nc=00000001, cnonce="b13016c42d949b57", 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:39091]} response {}}
18:09:07.409 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@57337ebf for /digest
18:09:07.409 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="6W9SpSZWYQcNMTU2NTQ3ODU0NzM5OZfORGV5b3/YBSuQNh4tsCU=", uri="/digest", response="4b296a8c4832de30ca53c3bc1e0a39d1", qop=auth, nc=00000001, cnonce="b13016c42d949b57", 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:39091]} response {}}
18:09:07.409 [XNIO-35 task-4] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.416 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="tltA2kIZp/wNMTU2NTQ3ODU0NzQwOSwiC9XTmiLlPnXZX5GW5TA=", uri="/digest", response="3a720087f1aa4b41db0416eefe98f601", qop=auth, nc=00000001, cnonce="72a1f7776e06063f", 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:39091]} response {}}
18:09:07.416 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.416 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="tltA2kIZp/wNMTU2NTQ3ODU0NzQwOSwiC9XTmiLlPnXZX5GW5TA=", uri="/digest", response="3a720087f1aa4b41db0416eefe98f601", qop=auth, nc=00000001, cnonce="72a1f7776e06063f", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="tltA2kIZp/wNMTU2NTQ3ODU0NzQwOSwiC9XTmiLlPnXZX5GW5TA=", uri="/digest", response="3a720087f1aa4b41db0416eefe98f601", qop=auth, nc=00000001, cnonce="72a1f7776e06063f", 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:39091]} response {}}
18:09:07.417 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="tltA2kIZp/wNMTU2NTQ3ODU0NzQwOSwiC9XTmiLlPnXZX5GW5TA=", uri="/digest", response="3a720087f1aa4b41db0416eefe98f601", qop=auth, nc=00000001, cnonce="72a1f7776e06063f", 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:39091]} response {}}
18:09:07.417 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@57337ebf for /digest
18:09:07.417 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="tltA2kIZp/wNMTU2NTQ3ODU0NzQwOSwiC9XTmiLlPnXZX5GW5TA=", uri="/digest", response="3a720087f1aa4b41db0416eefe98f601", qop=auth, nc=00000001, cnonce="72a1f7776e06063f", 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:39091]} response {}}
18:09:07.417 [XNIO-35 task-5] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.423 [XNIO-35 task-6] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /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:39091]} response {}}
18:09:07.423 [XNIO-35 task-6] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.423 [XNIO-35 task-6] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_ATTEMPTED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@57337ebf for /digest
18:09:07.423 [XNIO-35 task-6] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /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:39091]} response {}}
18:09:07.423 [XNIO-35 task-6] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.427 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Setting authentication required for exchange HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="trOOXbkJsVQNMTU2NTQ3ODU0NzQyM3G+5KJLEmeX+or1CBVG6ns=", uri="/digest", response="787ffc13fed459e0c3dd4de4964052bc", qop=auth, nc=00000001, cnonce="d1cdf2798776547a", 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:39091]} response {}}
18:09:07.428 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Attempting to authenticate /digest, authentication required: true
18:09:07.428 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Found digest header Digest username="nobody", realm="DigestTesting", nonce="trOOXbkJsVQNMTU2NTQ3ODU0NzQyM3G+5KJLEmeX+or1CBVG6ns=", uri="/digest", response="787ffc13fed459e0c3dd4de4964052bc", qop=auth, nc=00000001, cnonce="d1cdf2798776547a", algorithm=MD5, opaque="00000000000000000000000000000000" in HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="trOOXbkJsVQNMTU2NTQ3ODU0NzQyM3G+5KJLEmeX+or1CBVG6ns=", uri="/digest", response="787ffc13fed459e0c3dd4de4964052bc", qop=auth, nc=00000001, cnonce="d1cdf2798776547a", 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:39091]} response {}}
18:09:07.428 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Authentication failed with message UT000038: Authentication failed, requested user name 'nobody' and mechanism DIGEST for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="trOOXbkJsVQNMTU2NTQ3ODU0NzQyM3G+5KJLEmeX+or1CBVG6ns=", uri="/digest", response="787ffc13fed459e0c3dd4de4964052bc", qop=auth, nc=00000001, cnonce="d1cdf2798776547a", 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:39091]} response {}}
18:09:07.428 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Authentication outcome was NOT_AUTHENTICATED with method ersatz.undertow.security.impl.DigestAuthenticationMechanism@57337ebf for /digest
18:09:07.428 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Sending authentication challenge for HttpServerExchange{ PATCH /digest request {Connection=[Keep-Alive], Authorization=[Digest username="nobody", realm="DigestTesting", nonce="trOOXbkJsVQNMTU2NTQ3ODU0NzQyM3G+5KJLEmeX+or1CBVG6ns=", uri="/digest", response="787ffc13fed459e0c3dd4de4964052bc", qop=auth, nc=00000001, cnonce="d1cdf2798776547a", 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:39091]} response {}}
18:09:07.429 [XNIO-35 task-7] DEBUG ersatz.undertow.request.security - Authentication result was CHALLENGE_SENT for /digest
18:09:07.432 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@71dea964
18:09:07.438 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@28b65d8a
18:09:07.443 [XNIO-36 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-2', selector sun.nio.ch.EPollSelectorImpl@56ed8fb2
18:09:07.443 [XNIO-36 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-3', selector sun.nio.ch.EPollSelectorImpl@35aa0a1a
18:09:07.443 [XNIO-36 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-5', selector sun.nio.ch.EPollSelectorImpl@21805c1c
18:09:07.443 [XNIO-36 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-1', selector sun.nio.ch.EPollSelectorImpl@44805bdd
18:09:07.443 [XNIO-36 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5a4d32a8
18:09:07.447 [XNIO-36 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5ae62453
18:09:07.447 [XNIO-36 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1642187c
18:09:07.450 [XNIO-36 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 Accept', selector sun.nio.ch.EPollSelectorImpl@699f2bee
18:09:07.450 [XNIO-36 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-36 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7aacb32d
18:09:07.450 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.451 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.468 [XNIO-36 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39153]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.469 [XNIO-36 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:07.481 [XNIO-36 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39153]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.484 [XNIO-36 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:07.485 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@28b65d8a
18:09:07.491 [XNIO-36 task-2] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ PATCH /pass 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:39153]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[text/plain], Content-Length=[27], Date=[Sat, 10 Aug 2019 23:09:02 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:07.499 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@57eb1ad5
18:09:07.502 [XNIO-37 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-1', selector sun.nio.ch.EPollSelectorImpl@18534272
18:09:07.503 [XNIO-37 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7843aaec
18:09:07.503 [XNIO-37 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-3', selector sun.nio.ch.EPollSelectorImpl@2e7efaa5
18:09:07.503 [XNIO-37 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5d8208ac
18:09:07.504 [XNIO-37 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3a8eb7e8
18:09:07.504 [XNIO-37 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-6', selector sun.nio.ch.EPollSelectorImpl@116c4e9e
18:09:07.507 [XNIO-37 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1c4ccac9
18:09:07.508 [XNIO-37 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 I/O-8', selector sun.nio.ch.EPollSelectorImpl@49c1ad9e
18:09:07.508 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.508 [XNIO-37 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-37 Accept', selector sun.nio.ch.EPollSelectorImpl@24880340
18:09:07.509 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.522 [XNIO-37 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:37651]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.523 [XNIO-37 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.531 [XNIO-37 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:37651]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.532 [XNIO-37 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.538 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@57eb1ad5
18:09:07.543 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@48047a18
18:09:07.545 [XNIO-38 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1091c06a
18:09:07.545 [XNIO-38 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-2', selector sun.nio.ch.EPollSelectorImpl@3d0d50ee
18:09:07.551 [XNIO-38 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-3', selector sun.nio.ch.EPollSelectorImpl@2e1396f5
18:09:07.552 [XNIO-38 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-4', selector sun.nio.ch.EPollSelectorImpl@485fd121
18:09:07.553 [XNIO-38 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-5', selector sun.nio.ch.EPollSelectorImpl@66cd32d
18:09:07.554 [XNIO-38 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-6', selector sun.nio.ch.EPollSelectorImpl@1b8181e4
18:09:07.554 [XNIO-38 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-7', selector sun.nio.ch.EPollSelectorImpl@46b455e3
18:09:07.555 [XNIO-38 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2c6f804f
18:09:07.558 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.558 [XNIO-38 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-38 Accept', selector sun.nio.ch.EPollSelectorImpl@77ce2033
18:09:07.559 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.567 [XNIO-38 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41115]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.568 [XNIO-38 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.575 [XNIO-38 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:41115]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.576 [XNIO-38 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.577 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@48047a18
18:09:07.582 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@280c0546
18:09:07.587 [XNIO-39 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-1', selector sun.nio.ch.EPollSelectorImpl@7cf0e502
18:09:07.587 [XNIO-39 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5beb5fe8
18:09:07.588 [XNIO-39 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-4', selector sun.nio.ch.EPollSelectorImpl@61e81122
18:09:07.588 [XNIO-39 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4b555aac
18:09:07.588 [XNIO-39 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-6', selector sun.nio.ch.EPollSelectorImpl@3a32118d
18:09:07.588 [XNIO-39 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-3', selector sun.nio.ch.EPollSelectorImpl@44a700f
18:09:07.588 [XNIO-39 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-8', selector sun.nio.ch.EPollSelectorImpl@452ed6b4
18:09:07.588 [XNIO-39 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 I/O-7', selector sun.nio.ch.EPollSelectorImpl@321b8e0d
18:09:07.591 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.591 [XNIO-39 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-39 Accept', selector sun.nio.ch.EPollSelectorImpl@637d9c5a
18:09:07.595 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.599 [XNIO-39 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36375]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.601 [XNIO-39 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.604 [XNIO-39 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36375]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.612 [XNIO-39 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.617 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@280c0546
18:09:07.625 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7a317638
18:09:07.627 [XNIO-40 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-1', selector sun.nio.ch.EPollSelectorImpl@64bca81f
18:09:07.629 [XNIO-40 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-2', selector sun.nio.ch.EPollSelectorImpl@7f849261
18:09:07.629 [XNIO-40 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2a10beac
18:09:07.629 [XNIO-40 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-3', selector sun.nio.ch.EPollSelectorImpl@4094e446
18:09:07.630 [XNIO-40 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-6', selector sun.nio.ch.EPollSelectorImpl@4ad87831
18:09:07.629 [XNIO-40 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-5', selector sun.nio.ch.EPollSelectorImpl@4b7ad0ba
18:09:07.630 [XNIO-40 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-7', selector sun.nio.ch.EPollSelectorImpl@10510fa8
18:09:07.631 [XNIO-40 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 I/O-8', selector sun.nio.ch.EPollSelectorImpl@1138f856
18:09:07.631 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.631 [XNIO-40 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-40 Accept', selector sun.nio.ch.EPollSelectorImpl@60799b5
18:09:07.632 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.641 [XNIO-40 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:42971]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.642 [XNIO-40 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.646 [XNIO-40 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:42971]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.647 [XNIO-40 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.648 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7a317638
18:09:07.651 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4f78e9f3
18:09:07.655 [XNIO-41 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-1', selector sun.nio.ch.EPollSelectorImpl@27ea7771
18:09:07.655 [XNIO-41 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-2', selector sun.nio.ch.EPollSelectorImpl@513f1d19
18:09:07.655 [XNIO-41 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3a97d2af
18:09:07.655 [XNIO-41 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6ca7dc27
18:09:07.657 [XNIO-41 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2ac9b9c1
18:09:07.657 [XNIO-41 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-6', selector sun.nio.ch.EPollSelectorImpl@35c3b0c9
18:09:07.657 [XNIO-41 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-7', selector sun.nio.ch.EPollSelectorImpl@3a36b5bb
18:09:07.659 [XNIO-41 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 I/O-8', selector sun.nio.ch.EPollSelectorImpl@823649d
18:09:07.663 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.663 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.666 [XNIO-41 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-41 Accept', selector sun.nio.ch.EPollSelectorImpl@19537c6d
18:09:07.671 [XNIO-41 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40121]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.673 [XNIO-41 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.678 [XNIO-41 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40121]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.680 [XNIO-41 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.681 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4f78e9f3
18:09:07.685 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7f8f8715
18:09:07.687 [XNIO-42 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-1', selector sun.nio.ch.EPollSelectorImpl@3e2bce43
18:09:07.688 [XNIO-42 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5972c67d
18:09:07.690 [XNIO-42 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-4', selector sun.nio.ch.EPollSelectorImpl@60d88682
18:09:07.687 [XNIO-42 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6209203b
18:09:07.691 [XNIO-42 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-6', selector sun.nio.ch.EPollSelectorImpl@202a9881
18:09:07.692 [XNIO-42 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-7', selector sun.nio.ch.EPollSelectorImpl@2d0a213d
18:09:07.692 [XNIO-42 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2d54bf2a
18:09:07.691 [XNIO-42 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 I/O-5', selector sun.nio.ch.EPollSelectorImpl@17df2ea8
18:09:07.693 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.693 [XNIO-42 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-42 Accept', selector sun.nio.ch.EPollSelectorImpl@50dc142c
18:09:07.694 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.699 [XNIO-42 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36173]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.701 [XNIO-42 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.705 [XNIO-42 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36173]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.706 [XNIO-42 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.707 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7f8f8715
18:09:07.713 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4db0223d
18:09:07.715 [XNIO-42 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:07.717 [XNIO-43 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-1', selector sun.nio.ch.EPollSelectorImpl@311076
18:09:07.719 [XNIO-43 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-4', selector sun.nio.ch.EPollSelectorImpl@1e985415
18:09:07.719 [XNIO-43 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-3', selector sun.nio.ch.EPollSelectorImpl@1670f58b
18:09:07.722 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.727 [XNIO-43 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 Accept', selector sun.nio.ch.EPollSelectorImpl@4d4e156d
18:09:07.727 [XNIO-43 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-6', selector sun.nio.ch.EPollSelectorImpl@71fabbda
18:09:07.727 [XNIO-43 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-7', selector sun.nio.ch.EPollSelectorImpl@5fef4464
18:09:07.728 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.727 [XNIO-43 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-5', selector sun.nio.ch.EPollSelectorImpl@3de1c550
18:09:07.727 [XNIO-43 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7c3db5ad
18:09:07.727 [XNIO-43 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-43 I/O-2', selector sun.nio.ch.EPollSelectorImpl@2e78f8e4
18:09:07.739 [XNIO-43 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45065]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.740 [XNIO-43 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.751 [XNIO-43 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:45065]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.752 [XNIO-43 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.755 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4db0223d
18:09:07.759 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@43737ccc
18:09:07.761 [XNIO-44 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-1', selector sun.nio.ch.EPollSelectorImpl@28d003f7
18:09:07.763 [XNIO-44 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-2', selector sun.nio.ch.EPollSelectorImpl@6b9cad66
18:09:07.763 [XNIO-44 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-3', selector sun.nio.ch.EPollSelectorImpl@af488f4
18:09:07.767 [XNIO-44 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-4', selector sun.nio.ch.EPollSelectorImpl@5a33b6b0
18:09:07.767 [XNIO-44 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-5', selector sun.nio.ch.EPollSelectorImpl@1920aa12
18:09:07.767 [XNIO-44 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-6', selector sun.nio.ch.EPollSelectorImpl@66544548
18:09:07.767 [XNIO-44 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-7', selector sun.nio.ch.EPollSelectorImpl@29221ce6
18:09:07.767 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.767 [XNIO-44 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 Accept', selector sun.nio.ch.EPollSelectorImpl@7af80317
18:09:07.767 [XNIO-44 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-44 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4dec257f
18:09:07.768 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.772 [XNIO-44 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38437]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.773 [XNIO-44 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.779 [XNIO-44 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38437]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.780 [XNIO-44 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.781 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@43737ccc
18:09:07.790 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@19a37ac2
18:09:07.797 [XNIO-45 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1664d0bc
18:09:07.817 [XNIO-45 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-4', selector sun.nio.ch.EPollSelectorImpl@6ce112f3
18:09:07.825 [XNIO-45 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-7', selector sun.nio.ch.EPollSelectorImpl@5a5f3829
18:09:07.826 [XNIO-45 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-8', selector sun.nio.ch.EPollSelectorImpl@61411861
18:09:07.826 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.826 [XNIO-45 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-6', selector sun.nio.ch.EPollSelectorImpl@7abed137
18:09:07.816 [XNIO-45 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-3', selector sun.nio.ch.EPollSelectorImpl@19d9283c
18:09:07.816 [XNIO-45 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-2', selector sun.nio.ch.EPollSelectorImpl@4c79144d
18:09:07.830 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.817 [XNIO-45 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 I/O-5', selector sun.nio.ch.EPollSelectorImpl@67b5623e
18:09:07.826 [XNIO-45 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-45 Accept', selector sun.nio.ch.EPollSelectorImpl@4ff22733
18:09:07.835 [XNIO-45 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33921]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.837 [XNIO-45 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.843 [XNIO-45 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33921]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.845 [XNIO-45 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.847 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@19a37ac2
18:09:07.851 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@7c963670
18:09:07.858 [XNIO-46 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-1', selector sun.nio.ch.EPollSelectorImpl@260d0f8a
18:09:07.858 [XNIO-46 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-2', selector sun.nio.ch.EPollSelectorImpl@63f54db4
18:09:07.858 [XNIO-46 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-3', selector sun.nio.ch.EPollSelectorImpl@62a534e3
18:09:07.859 [XNIO-46 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-4', selector sun.nio.ch.EPollSelectorImpl@4174ee24
18:09:07.859 [XNIO-46 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6e93c481
18:09:07.859 [XNIO-46 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-6', selector sun.nio.ch.EPollSelectorImpl@5ed99e22
18:09:07.859 [XNIO-46 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-7', selector sun.nio.ch.EPollSelectorImpl@79800af8
18:09:07.859 [XNIO-46 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 I/O-8', selector sun.nio.ch.EPollSelectorImpl@7d090dcf
18:09:07.859 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.859 [XNIO-46 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-46 Accept', selector sun.nio.ch.EPollSelectorImpl@5c5308e2
18:09:07.860 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.863 [XNIO-46 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40141]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.864 [XNIO-46 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.875 [XNIO-46 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40141]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.876 [XNIO-46 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.877 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@7c963670
18:09:07.882 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6cc7613
18:09:07.883 [XNIO-47 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-2', selector sun.nio.ch.EPollSelectorImpl@111e33f2
18:09:07.883 [XNIO-47 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3c801e0c
18:09:07.891 [XNIO-47 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-4', selector sun.nio.ch.EPollSelectorImpl@63d7fabf
18:09:07.895 [XNIO-47 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2913f480
18:09:07.883 [XNIO-47 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-1', selector sun.nio.ch.EPollSelectorImpl@148bcba0
18:09:07.895 [XNIO-47 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-6', selector sun.nio.ch.EPollSelectorImpl@593e2fc2
18:09:07.899 [XNIO-47 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-7', selector sun.nio.ch.EPollSelectorImpl@11c85b1d
18:09:07.900 [XNIO-47 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 I/O-8', selector sun.nio.ch.EPollSelectorImpl@426d5c13
18:09:07.907 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.907 [XNIO-47 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-47 Accept', selector sun.nio.ch.EPollSelectorImpl@b5bfd03
18:09:07.907 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.927 [XNIO-47 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40779]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.929 [XNIO-47 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.933 [XNIO-47 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40779]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:07.934 [XNIO-47 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:07.935 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6cc7613
18:09:07.939 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@770d2c29
18:09:07.943 [XNIO-48 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-1', selector sun.nio.ch.EPollSelectorImpl@387596bb
18:09:07.951 [XNIO-48 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-2', selector sun.nio.ch.EPollSelectorImpl@e25919
18:09:07.952 [XNIO-48 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3d2146fd
18:09:07.953 [XNIO-48 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-4', selector sun.nio.ch.EPollSelectorImpl@692dcdf4
18:09:07.953 [XNIO-48 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-5', selector sun.nio.ch.EPollSelectorImpl@71a65dbc
18:09:07.963 [XNIO-48 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-6', selector sun.nio.ch.EPollSelectorImpl@674fedee
18:09:07.963 [XNIO-48 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-7', selector sun.nio.ch.EPollSelectorImpl@1212e23f
18:09:07.972 [XNIO-48 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 I/O-8', selector sun.nio.ch.EPollSelectorImpl@2ed05d14
18:09:07.978 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:07.978 [XNIO-48 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-48 Accept', selector sun.nio.ch.EPollSelectorImpl@67ae4eb3
18:09:07.979 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:07.996 [XNIO-48 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39423]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.000 [XNIO-48 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:08.004 [XNIO-48 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:39423]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.009 [XNIO-48 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:08.010 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@770d2c29
18:09:08.013 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6b67c5af
18:09:08.025 [XNIO-49 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-1', selector sun.nio.ch.EPollSelectorImpl@486710ca
18:09:08.027 [XNIO-49 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-2', selector sun.nio.ch.EPollSelectorImpl@45207aab
18:09:08.027 [XNIO-49 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-3', selector sun.nio.ch.EPollSelectorImpl@194aa97e
18:09:08.027 [XNIO-49 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-4', selector sun.nio.ch.EPollSelectorImpl@3a461f84
18:09:08.029 [XNIO-49 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-5', selector sun.nio.ch.EPollSelectorImpl@6ac9d23b
18:09:08.031 [XNIO-49 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2404b486
18:09:08.032 [XNIO-49 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-7', selector sun.nio.ch.EPollSelectorImpl@b6d06d4
18:09:08.035 [XNIO-49 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 I/O-8', selector sun.nio.ch.EPollSelectorImpl@281f5bb9
18:09:08.039 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.039 [XNIO-49 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-49 Accept', selector sun.nio.ch.EPollSelectorImpl@30bdf3ee
18:09:08.039 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.044 [XNIO-49 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36597]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.046 [XNIO-49 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:08.053 [XNIO-49 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:36597]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.054 [XNIO-49 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:08.055 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6b67c5af
18:09:08.058 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6ba0df60
18:09:08.060 [XNIO-49 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:08.071 [XNIO-50 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-1', selector sun.nio.ch.EPollSelectorImpl@5b4d80e8
18:09:08.079 [XNIO-50 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-3', selector sun.nio.ch.EPollSelectorImpl@283966e8
18:09:08.079 [XNIO-50 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5274aca2
18:09:08.082 [XNIO-50 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-4', selector sun.nio.ch.EPollSelectorImpl@28c7c669
18:09:08.083 [XNIO-50 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7b96c365
18:09:08.087 [XNIO-50 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-6', selector sun.nio.ch.EPollSelectorImpl@60ece861
18:09:08.088 [XNIO-50 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-7', selector sun.nio.ch.EPollSelectorImpl@57be733e
18:09:08.088 [XNIO-50 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 I/O-8', selector sun.nio.ch.EPollSelectorImpl@385c546
18:09:08.089 [XNIO-50 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-50 Accept', selector sun.nio.ch.EPollSelectorImpl@5449dc30
18:09:08.089 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.090 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.103 [XNIO-50 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35907]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.106 [XNIO-50 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:08.115 [XNIO-50 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35907]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.117 [XNIO-50 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({}): <empty>
18:09:08.118 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6ba0df60
18:09:08.130 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@6fc76fe5
18:09:08.132 [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: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:08.143 [XNIO-51 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-1', selector sun.nio.ch.EPollSelectorImpl@2af3f466
18:09:08.145 [XNIO-51 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-2', selector sun.nio.ch.EPollSelectorImpl@592267a0
18:09:08.146 [XNIO-51 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-3', selector sun.nio.ch.EPollSelectorImpl@24e8bb96
18:09:08.151 [XNIO-51 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-4', selector sun.nio.ch.EPollSelectorImpl@341cd81e
18:09:08.157 [XNIO-51 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-5', selector sun.nio.ch.EPollSelectorImpl@50f4de3a
18:09:08.158 [XNIO-51 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-6', selector sun.nio.ch.EPollSelectorImpl@31683800
18:09:08.158 [XNIO-51 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-7', selector sun.nio.ch.EPollSelectorImpl@73634c2d
18:09:08.159 [XNIO-51 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 I/O-8', selector sun.nio.ch.EPollSelectorImpl@11dc98c
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.174 [XNIO-51 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-51 Accept', selector sun.nio.ch.EPollSelectorImpl@2f772a33
18:09:08.196 [XNIO-51 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:43107]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.202 [XNIO-51 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18:09:08.224 [XNIO-51 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:43107]}, cookies=[:]): {"alpha":"bravo","charlie":42} }
18:09:08.226 [XNIO-51 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18:09:08.228 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@6fc76fe5
18:09:08.235 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@587daacf
18:09:08.236 [XNIO-51 task-2] ERROR ersatz.undertow.request - UT005071: Undertow request failed HttpServerExchange{ PATCH /gzip 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:43107]} response {Content-Encoding=[gzip], Connection=[keep-alive], Content-Type=[text/plain], Content-Length=[29], Date=[Sat, 10 Aug 2019 23:09:02 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.240 [XNIO-52 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-1', selector sun.nio.ch.EPollSelectorImpl@63499856
18:09:08.252 [XNIO-52 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-2', selector sun.nio.ch.EPollSelectorImpl@494769f7
18:09:08.258 [XNIO-52 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-3', selector sun.nio.ch.EPollSelectorImpl@4f850e28
18:09:08.259 [XNIO-52 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-4', selector sun.nio.ch.EPollSelectorImpl@50a553e5
18:09:08.264 [XNIO-52 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2e706c0d
18:09:08.278 [XNIO-52 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-6', selector sun.nio.ch.EPollSelectorImpl@55cddcfe
18:09:08.287 [XNIO-52 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-7', selector sun.nio.ch.EPollSelectorImpl@28b16610
18:09:08.295 [XNIO-52 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 I/O-8', selector sun.nio.ch.EPollSelectorImpl@479e918b
18:09:08.297 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.297 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.302 [XNIO-52 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-52 Accept', selector sun.nio.ch.EPollSelectorImpl@60bc2657
18:09:08.323 [XNIO-52 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33625]}, cookies=[:]): {"value":"ok-json"} }
18:09:08.326 [XNIO-52 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.337 [XNIO-52 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:33625]}, cookies=[:]): {"value":"ok-json"} }
18:09:08.347 [XNIO-52 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.349 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@587daacf
18:09:08.353 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@163243c6
18:09:08.355 [XNIO-52 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.360 [XNIO-53 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-1', selector sun.nio.ch.EPollSelectorImpl@125709a8
18:09:08.366 [XNIO-53 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-2', selector sun.nio.ch.EPollSelectorImpl@50c47123
18:09:08.367 [XNIO-53 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5f1a3baf
18:09:08.375 [XNIO-53 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-4', selector sun.nio.ch.EPollSelectorImpl@43a42f7b
18:09:08.391 [XNIO-53 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-5', selector sun.nio.ch.EPollSelectorImpl@57ddfb07
18:09:08.393 [XNIO-53 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-7', selector sun.nio.ch.EPollSelectorImpl@16d2a1fe
18:09:08.394 [XNIO-53 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-6', selector sun.nio.ch.EPollSelectorImpl@45ab4514
18:09:08.406 [XNIO-53 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 I/O-8', selector sun.nio.ch.EPollSelectorImpl@6f6e5436
18:09:08.411 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.411 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.415 [XNIO-53 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-53 Accept', selector sun.nio.ch.EPollSelectorImpl@1c5d8231
18:09:08.439 [XNIO-53 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35899]}, cookies=[:]): <?xml version="1.0"?><message value="ok-xml"/> }
18:09:08.440 [XNIO-53 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.447 [XNIO-53 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:35899]}, cookies=[:]): <?xml version="1.0"?><message value="ok-xml"/> }
18:09:08.449 [XNIO-53 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.450 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@163243c6
18:09:08.454 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@d6d0807
18:09:08.459 [XNIO-54 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-1', selector sun.nio.ch.EPollSelectorImpl@5838eec1
18:09:08.459 [XNIO-54 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-2', selector sun.nio.ch.EPollSelectorImpl@24957f6a
18:09:08.466 [XNIO-54 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-3', selector sun.nio.ch.EPollSelectorImpl@78696547
18:09:08.467 [XNIO-54 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-4', selector sun.nio.ch.EPollSelectorImpl@51054fc5
18:09:08.469 [XNIO-54 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-5', selector sun.nio.ch.EPollSelectorImpl@2bcbbd4a
18:09:08.472 [XNIO-54 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2a7e42f2
18:09:08.473 [XNIO-54 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-7', selector sun.nio.ch.EPollSelectorImpl@26a6ca33
18:09:08.487 [XNIO-54 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 I/O-8', selector sun.nio.ch.EPollSelectorImpl@23391df3
18:09:08.494 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.494 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.498 [XNIO-54 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-54 Accept', selector sun.nio.ch.EPollSelectorImpl@1885ff07
18:09:08.514 [XNIO-54 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40629]}, cookies=[:]): ok-html }
18:09:08.515 [XNIO-54 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.525 [XNIO-54 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40629]}, cookies=[:]): ok-html }
18:09:08.528 [XNIO-54 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.529 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@d6d0807
18:09:08.536 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@10b54577
18:09:08.538 [XNIO-54 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.562 [XNIO-55 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-5', selector sun.nio.ch.EPollSelectorImpl@21657521
18:09:08.547 [XNIO-55 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-1', selector sun.nio.ch.EPollSelectorImpl@100d6d9e
18:09:08.567 [XNIO-55 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-6', selector sun.nio.ch.EPollSelectorImpl@e2625ab
18:09:08.568 [XNIO-55 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-7', selector sun.nio.ch.EPollSelectorImpl@3fe6db36
18:09:08.571 [XNIO-55 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-8', selector sun.nio.ch.EPollSelectorImpl@40fc6b5a
18:09:08.551 [XNIO-55 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-2', selector sun.nio.ch.EPollSelectorImpl@13d83211
18:09:08.554 [XNIO-55 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-3', selector sun.nio.ch.EPollSelectorImpl@3112fac6
18:09:08.557 [XNIO-55 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 I/O-4', selector sun.nio.ch.EPollSelectorImpl@3eb6361c
18:09:08.571 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.573 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.572 [XNIO-55 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-55 Accept', selector sun.nio.ch.EPollSelectorImpl@15a2f633
18:09:08.613 [XNIO-55 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40913]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:08.641 [XNIO-55 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.649 [XNIO-55 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:40913]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:08.651 [XNIO-55 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.652 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@10b54577
18:09:08.656 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@5753632c
18:09:08.659 [XNIO-56 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-2', selector sun.nio.ch.EPollSelectorImpl@5f7973a7
18:09:08.667 [XNIO-56 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-3', selector sun.nio.ch.EPollSelectorImpl@d70f003
18:09:08.659 [XNIO-56 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-1', selector sun.nio.ch.EPollSelectorImpl@50d51353
18:09:08.668 [XNIO-56 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-4', selector sun.nio.ch.EPollSelectorImpl@2e875aac
18:09:08.670 [XNIO-56 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-5', selector sun.nio.ch.EPollSelectorImpl@5ee2211d
18:09:08.670 [XNIO-56 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2ced17ea
18:09:08.671 [XNIO-56 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-7', selector sun.nio.ch.EPollSelectorImpl@6223d26
18:09:08.680 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.681 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.684 [XNIO-56 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 Accept', selector sun.nio.ch.EPollSelectorImpl@6c6ff2de
18:09:08.671 [XNIO-56 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-56 I/O-8', selector sun.nio.ch.EPollSelectorImpl@4e5c2636
18:09:08.750 [XNIO-56 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38583]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:08.752 [XNIO-56 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.759 [XNIO-56 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /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:38583]}, cookies=[:]): username=bobvila&password=oldhouse }
18:09:08.761 [XNIO-56 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.763 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@5753632c
18:09:08.785 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@4ed6f5df
18:09:08.787 [XNIO-57 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-1', selector sun.nio.ch.EPollSelectorImpl@406d5ecb
18:09:08.799 [XNIO-57 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-2', selector sun.nio.ch.EPollSelectorImpl@1f829875
18:09:08.800 [XNIO-57 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-3', selector sun.nio.ch.EPollSelectorImpl@a7c2bd2
18:09:08.800 [XNIO-57 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-4', selector sun.nio.ch.EPollSelectorImpl@41675215
18:09:08.801 [XNIO-57 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-5', selector sun.nio.ch.EPollSelectorImpl@569217ab
18:09:08.802 [XNIO-57 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-6', selector sun.nio.ch.EPollSelectorImpl@21770cbe
18:09:08.804 [XNIO-57 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-7', selector sun.nio.ch.EPollSelectorImpl@51993359
18:09:08.804 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.804 [XNIO-57 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 I/O-8', selector sun.nio.ch.EPollSelectorImpl@298daebf
18:09:08.804 [XNIO-57 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-57 Accept', selector sun.nio.ch.EPollSelectorImpl@38f1c766
18:09:08.805 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.828 [XNIO-57 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=b9328d96-7ce1-4053-83c6-1b90adfafa49; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:46119]}, cookies=[:]): --b9328d96-7ce1-4053-83c6-1b90adfafa49
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--b9328d96-7ce1-4053-83c6-1b90adfafa49
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--b9328d96-7ce1-4053-83c6-1b90adfafa49--
 }
18:09:08.915 [XNIO-57 task-1] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.923 [XNIO-57 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=a5337cc0-7dd0-40b4-8676-d60713319c9d; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:46119]}, cookies=[:]): --a5337cc0-7dd0-40b4-8676-d60713319c9d
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--a5337cc0-7dd0-40b4-8676-d60713319c9d
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--a5337cc0-7dd0-40b4-8676-d60713319c9d--
 }
18:09:08.928 [XNIO-57 task-2] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:08.929 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@4ed6f5df
18:09:08.934 [Test worker] DEBUG ersatz.undertow - starting undertow server ersatz.undertow.Undertow@3601d8de
18:09:08.936 [XNIO-58 I/O-1] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-1', selector sun.nio.ch.EPollSelectorImpl@1749f1f9
18:09:08.939 [XNIO-58 I/O-2] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-2', selector sun.nio.ch.EPollSelectorImpl@44cd29cf
18:09:08.942 [XNIO-58 I/O-3] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-3', selector sun.nio.ch.EPollSelectorImpl@5c3b1e0f
18:09:08.944 [XNIO-58 I/O-4] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-4', selector sun.nio.ch.EPollSelectorImpl@455560d5
18:09:08.944 [XNIO-58 I/O-5] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-5', selector sun.nio.ch.EPollSelectorImpl@7f515e43
18:09:08.947 [XNIO-58 I/O-6] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-6', selector sun.nio.ch.EPollSelectorImpl@2c2c8adb
18:09:08.948 [XNIO-58 I/O-7] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-7', selector sun.nio.ch.EPollSelectorImpl@6db962a3
18:09:08.952 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTP for interface localhost and port 0
18:09:08.952 [XNIO-58 I/O-8] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 I/O-8', selector sun.nio.ch.EPollSelectorImpl@22191bbc
18:09:08.952 [Test worker] DEBUG ersatz.undertow - Configuring listener with protocol HTTPS for interface localhost and port 0
18:09:08.955 [XNIO-58 Accept] DEBUG ersatz.xnio.nio - Started channel thread 'XNIO-58 Accept', selector sun.nio.ch.EPollSelectorImpl@1b98efec
18:09:09.019 [XNIO-58 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=55461056-bff6-4b58-b7fa-52ab42735921; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:37423]}, cookies=[:]): --55461056-bff6-4b58-b7fa-52ab42735921
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--55461056-bff6-4b58-b7fa-52ab42735921
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--55461056-bff6-4b58-b7fa-52ab42735921--
 }
18:09:09.022 [XNIO-58 task-3] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.026 [XNIO-58 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Request: { PATCH /upload (query=[:], headers={Connection=[Keep-Alive], Accept-Encoding=[gzip], Content-Type=[multipart/form-data; boundary=d5fc92e0-2309-4f1d-9156-a0f1e6750ae3; charset=utf-8], Content-Length=[339], User-Agent=[okhttp/3.5.0], Host=[localhost:37423]}, cookies=[:]): --d5fc92e0-2309-4f1d-9156-a0f1e6750ae3
Content-Disposition: form-data; name="alpha"
Content-Length: 9

some data
--d5fc92e0-2309-4f1d-9156-a0f1e6750ae3
Content-Disposition: form-data; name="bravo"; filename="bravo.txt"
Content-Type: text/plain
Content-Length: 21

This is bravo content
--d5fc92e0-2309-4f1d-9156-a0f1e6750ae3--
 }
18:09:09.029 [XNIO-58 task-4] DEBUG com.stehno.ersatz.ErsatzServer - Response({Content-Type=[text/plain]}): ok-text
18:09:09.030 [Test worker] DEBUG ersatz.undertow - stopping undertow server ersatz.undertow.Undertow@3601d8de

Standard error

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