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