aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/microhttpd/connection.c')
-rw-r--r--src/microhttpd/connection.c37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
index 7624711a..ddc60d85 100644
--- a/src/microhttpd/connection.c
+++ b/src/microhttpd/connection.c
@@ -2280,7 +2280,7 @@ build_connection_chunked_response_footer (struct MHD_Connection *connection)
2280 mhd_assert (connection->rp.props.chunked); 2280 mhd_assert (connection->rp.props.chunked);
2281 /* TODO: allow combining of the final footer with the last chunk, 2281 /* TODO: allow combining of the final footer with the last chunk,
2282 * modify the next assert. */ 2282 * modify the next assert. */
2283 mhd_assert (MHD_CONNECTION_BODY_SENT == connection->state); 2283 mhd_assert (MHD_CONNECTION_CHUNKED_BODY_SENT == connection->state);
2284 mhd_assert (NULL != c->rp.response); 2284 mhd_assert (NULL != c->rp.response);
2285 2285
2286 buf_size = connection_maximize_write_buffer (c); 2286 buf_size = connection_maximize_write_buffer (c);
@@ -2624,13 +2624,13 @@ MHD_connection_update_event_loop_info (struct MHD_Connection *connection)
2624 case MHD_CONNECTION_CHUNKED_BODY_UNREADY: 2624 case MHD_CONNECTION_CHUNKED_BODY_UNREADY:
2625 connection->event_loop_info = MHD_EVENT_LOOP_INFO_BLOCK; 2625 connection->event_loop_info = MHD_EVENT_LOOP_INFO_BLOCK;
2626 break; 2626 break;
2627 case MHD_CONNECTION_BODY_SENT: 2627 case MHD_CONNECTION_CHUNKED_BODY_SENT:
2628 mhd_assert (0); 2628 mhd_assert (0);
2629 break; 2629 break;
2630 case MHD_CONNECTION_FOOTERS_SENDING: 2630 case MHD_CONNECTION_FOOTERS_SENDING:
2631 connection->event_loop_info = MHD_EVENT_LOOP_INFO_WRITE; 2631 connection->event_loop_info = MHD_EVENT_LOOP_INFO_WRITE;
2632 break; 2632 break;
2633 case MHD_CONNECTION_FOOTERS_SENT: 2633 case MHD_CONNECTION_FULL_REPLY_SENT:
2634 mhd_assert (0); 2634 mhd_assert (0);
2635 break; 2635 break;
2636 case MHD_CONNECTION_CLOSED: 2636 case MHD_CONNECTION_CLOSED:
@@ -4208,9 +4208,9 @@ MHD_connection_handle_read (struct MHD_Connection *connection,
4208 case MHD_CONNECTION_NORMAL_BODY_READY: 4208 case MHD_CONNECTION_NORMAL_BODY_READY:
4209 case MHD_CONNECTION_CHUNKED_BODY_UNREADY: 4209 case MHD_CONNECTION_CHUNKED_BODY_UNREADY:
4210 case MHD_CONNECTION_CHUNKED_BODY_READY: 4210 case MHD_CONNECTION_CHUNKED_BODY_READY:
4211 case MHD_CONNECTION_BODY_SENT: 4211 case MHD_CONNECTION_CHUNKED_BODY_SENT:
4212 case MHD_CONNECTION_FOOTERS_SENDING: 4212 case MHD_CONNECTION_FOOTERS_SENDING:
4213 case MHD_CONNECTION_FOOTERS_SENT: 4213 case MHD_CONNECTION_FULL_REPLY_SENT:
4214 default: 4214 default:
4215 mhd_assert (0); /* Should not be possible */ 4215 mhd_assert (0); /* Should not be possible */
4216 } 4216 }
@@ -4466,7 +4466,7 @@ MHD_connection_handle_write (struct MHD_Connection *connection)
4466 } 4466 }
4467 if (connection->rp.rsp_write_position == 4467 if (connection->rp.rsp_write_position ==
4468 connection->rp.response->total_size) 4468 connection->rp.response->total_size)
4469 connection->state = MHD_CONNECTION_FOOTERS_SENT; /* have no footers */ 4469 connection->state = MHD_CONNECTION_FULL_REPLY_SENT;
4470 return; 4470 return;
4471 case MHD_CONNECTION_NORMAL_BODY_UNREADY: 4471 case MHD_CONNECTION_NORMAL_BODY_UNREADY:
4472 mhd_assert (0); 4472 mhd_assert (0);
@@ -4500,11 +4500,11 @@ MHD_connection_handle_write (struct MHD_Connection *connection)
4500 check_write_done (connection, 4500 check_write_done (connection,
4501 (connection->rp.response->total_size == 4501 (connection->rp.response->total_size ==
4502 connection->rp.rsp_write_position) ? 4502 connection->rp.rsp_write_position) ?
4503 MHD_CONNECTION_BODY_SENT : 4503 MHD_CONNECTION_CHUNKED_BODY_SENT :
4504 MHD_CONNECTION_CHUNKED_BODY_UNREADY); 4504 MHD_CONNECTION_CHUNKED_BODY_UNREADY);
4505 return; 4505 return;
4506 case MHD_CONNECTION_CHUNKED_BODY_UNREADY: 4506 case MHD_CONNECTION_CHUNKED_BODY_UNREADY:
4507 case MHD_CONNECTION_BODY_SENT: 4507 case MHD_CONNECTION_CHUNKED_BODY_SENT:
4508 mhd_assert (0); 4508 mhd_assert (0);
4509 return; 4509 return;
4510 case MHD_CONNECTION_FOOTERS_SENDING: 4510 case MHD_CONNECTION_FOOTERS_SENDING:
@@ -4534,9 +4534,9 @@ MHD_connection_handle_write (struct MHD_Connection *connection)
4534 if (MHD_CONNECTION_FOOTERS_SENDING != connection->state) 4534 if (MHD_CONNECTION_FOOTERS_SENDING != connection->state)
4535 return; 4535 return;
4536 check_write_done (connection, 4536 check_write_done (connection,
4537 MHD_CONNECTION_FOOTERS_SENT); 4537 MHD_CONNECTION_FULL_REPLY_SENT);
4538 return; 4538 return;
4539 case MHD_CONNECTION_FOOTERS_SENT: 4539 case MHD_CONNECTION_FULL_REPLY_SENT:
4540 mhd_assert (0); 4540 mhd_assert (0);
4541 return; 4541 return;
4542 case MHD_CONNECTION_CLOSED: 4542 case MHD_CONNECTION_CLOSED:
@@ -5065,7 +5065,6 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
5065 /* no default action */ 5065 /* no default action */
5066 break; 5066 break;
5067 case MHD_CONNECTION_HEADERS_SENT: 5067 case MHD_CONNECTION_HEADERS_SENT:
5068 /* Some clients may take some actions right after header receive */
5069#ifdef UPGRADE_SUPPORT 5068#ifdef UPGRADE_SUPPORT
5070 if (NULL != connection->rp.response->upgrade_handler) 5069 if (NULL != connection->rp.response->upgrade_handler)
5071 { 5070 {
@@ -5099,7 +5098,7 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
5099 connection->state = MHD_CONNECTION_NORMAL_BODY_UNREADY; 5098 connection->state = MHD_CONNECTION_NORMAL_BODY_UNREADY;
5100 } 5099 }
5101 else 5100 else
5102 connection->state = MHD_CONNECTION_FOOTERS_SENT; 5101 connection->state = MHD_CONNECTION_FULL_REPLY_SENT;
5103 continue; 5102 continue;
5104 case MHD_CONNECTION_NORMAL_BODY_READY: 5103 case MHD_CONNECTION_NORMAL_BODY_READY:
5105 /* nothing to do here */ 5104 /* nothing to do here */
@@ -5116,9 +5115,9 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
5116 MHD_mutex_unlock_chk_ (&connection->rp.response->mutex); 5115 MHD_mutex_unlock_chk_ (&connection->rp.response->mutex);
5117#endif 5116#endif
5118 if (connection->rp.props.chunked) 5117 if (connection->rp.props.chunked)
5119 connection->state = MHD_CONNECTION_BODY_SENT; 5118 connection->state = MHD_CONNECTION_CHUNKED_BODY_SENT;
5120 else 5119 else
5121 connection->state = MHD_CONNECTION_FOOTERS_SENT; 5120 connection->state = MHD_CONNECTION_FULL_REPLY_SENT;
5122 continue; 5121 continue;
5123 } 5122 }
5124 if (MHD_NO != try_ready_normal_body (connection)) 5123 if (MHD_NO != try_ready_normal_body (connection))
@@ -5151,7 +5150,7 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
5151 if (NULL != connection->rp.response->crc) 5150 if (NULL != connection->rp.response->crc)
5152 MHD_mutex_unlock_chk_ (&connection->rp.response->mutex); 5151 MHD_mutex_unlock_chk_ (&connection->rp.response->mutex);
5153#endif 5152#endif
5154 connection->state = MHD_CONNECTION_BODY_SENT; 5153 connection->state = MHD_CONNECTION_CHUNKED_BODY_SENT;
5155 continue; 5154 continue;
5156 } 5155 }
5157 if (1) 5156 if (1)
@@ -5163,14 +5162,14 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
5163 if (NULL != connection->rp.response->crc) 5162 if (NULL != connection->rp.response->crc)
5164 MHD_mutex_unlock_chk_ (&connection->rp.response->mutex); 5163 MHD_mutex_unlock_chk_ (&connection->rp.response->mutex);
5165#endif 5164#endif
5166 connection->state = finished ? MHD_CONNECTION_BODY_SENT : 5165 connection->state = finished ? MHD_CONNECTION_CHUNKED_BODY_SENT :
5167 MHD_CONNECTION_CHUNKED_BODY_READY; 5166 MHD_CONNECTION_CHUNKED_BODY_READY;
5168 continue; 5167 continue;
5169 } 5168 }
5170 /* mutex was already unlocked by try_ready_chunked_body */ 5169 /* mutex was already unlocked by try_ready_chunked_body */
5171 } 5170 }
5172 break; 5171 break;
5173 case MHD_CONNECTION_BODY_SENT: 5172 case MHD_CONNECTION_CHUNKED_BODY_SENT:
5174 mhd_assert (connection->rp.props.chunked); 5173 mhd_assert (connection->rp.props.chunked);
5175 5174
5176 if (MHD_NO == build_connection_chunked_response_footer (connection)) 5175 if (MHD_NO == build_connection_chunked_response_footer (connection))
@@ -5185,14 +5184,14 @@ MHD_connection_handle_idle (struct MHD_Connection *connection)
5185 if ( (! connection->rp.props.chunked) || 5184 if ( (! connection->rp.props.chunked) ||
5186 (connection->write_buffer_send_offset == 5185 (connection->write_buffer_send_offset ==
5187 connection->write_buffer_append_offset) ) 5186 connection->write_buffer_append_offset) )
5188 connection->state = MHD_CONNECTION_FOOTERS_SENT; 5187 connection->state = MHD_CONNECTION_FULL_REPLY_SENT;
5189 else 5188 else
5190 connection->state = MHD_CONNECTION_FOOTERS_SENDING; 5189 connection->state = MHD_CONNECTION_FOOTERS_SENDING;
5191 continue; 5190 continue;
5192 case MHD_CONNECTION_FOOTERS_SENDING: 5191 case MHD_CONNECTION_FOOTERS_SENDING:
5193 /* no default action */ 5192 /* no default action */
5194 break; 5193 break;
5195 case MHD_CONNECTION_FOOTERS_SENT: 5194 case MHD_CONNECTION_FULL_REPLY_SENT:
5196 if (MHD_HTTP_PROCESSING == connection->rp.responseCode) 5195 if (MHD_HTTP_PROCESSING == connection->rp.responseCode)
5197 { 5196 {
5198 /* After this type of response, we allow sending another! */ 5197 /* After this type of response, we allow sending another! */