equal
deleted
inserted
replaced
163 if (debug.on()) |
163 if (debug.on()) |
164 debug.log("Reading Headers: (remaining: " |
164 debug.log("Reading Headers: (remaining: " |
165 + asyncReceiver.remaining() +") " + readProgress); |
165 + asyncReceiver.remaining() +") " + readProgress); |
166 |
166 |
167 if (firstTimeAround) { |
167 if (firstTimeAround) { |
|
168 if (debug.on()) debug.log("First time around"); |
168 firstTimeAround = false; |
169 firstTimeAround = false; |
169 } else { |
170 } else { |
170 // with expect continue we will resume reading headers + body. |
171 // with expect continue we will resume reading headers + body. |
171 asyncReceiver.unsubscribe(bodyReader); |
172 asyncReceiver.unsubscribe(bodyReader); |
172 bodyReader.reset(); |
173 bodyReader.reset(); |
178 asyncReceiver.subscribe(headersReader); |
179 asyncReceiver.subscribe(headersReader); |
179 } |
180 } |
180 |
181 |
181 CompletableFuture<State> cf = headersReader.completion(); |
182 CompletableFuture<State> cf = headersReader.completion(); |
182 assert cf != null : "parsing not started"; |
183 assert cf != null : "parsing not started"; |
|
184 if (debug.on()) { |
|
185 debug.log("headersReader is %s", |
|
186 cf == null ? "not yet started" |
|
187 : cf.isDone() ? "already completed" |
|
188 : "not yet completed"); |
|
189 } |
183 |
190 |
184 Function<State, Response> lambda = (State completed) -> { |
191 Function<State, Response> lambda = (State completed) -> { |
185 assert completed == State.READING_HEADERS; |
192 assert completed == State.READING_HEADERS; |
186 if (debug.on()) |
193 if (debug.on()) |
187 debug.log("Reading Headers: creating Response object;" |
194 debug.log("Reading Headers: creating Response object;" |