Lines Matching refs:hd

128   auto hd = stream->handler;
129 auto config = hd->get_config();
131 ev_timer_stop(hd->get_loop(), &stream->rtimer);
132 ev_timer_stop(hd->get_loop(), &stream->wtimer);
135 print_session_id(hd->session_id());
140 hd->submit_rst_stream(stream, NGHTTP2_INTERNAL_ERROR);
142 rv = hd->on_write();
144 delete_handler(hd);
151 auto hd = stream->handler;
152 ev_timer_again(hd->get_loop(), &stream->rtimer);
158 auto hd = stream->handler;
160 ev_timer_again(hd->get_loop(), &stream->rtimer);
167 auto hd = stream->handler;
168 ev_timer_again(hd->get_loop(), &stream->wtimer);
174 auto hd = stream->handler;
175 ev_timer_stop(hd->get_loop(), &stream->rtimer);
181 auto hd = stream->handler;
182 ev_timer_stop(hd->get_loop(), &stream->wtimer);
492 void on_session_closed(Http2Handler *hd, int64_t session_id) {
493 if (hd->get_config()->verbose) {
504 auto hd = static_cast<Http2Handler *>(w->data);
505 hd->terminate_session(NGHTTP2_SETTINGS_TIMEOUT);
506 rv = hd->on_write();
508 delete_handler(hd);
1098 auto hd = static_cast<Http2Handler *>(user_data);
1099 auto stream = hd->get_stream(stream_id);
1109 auto config = hd->get_config();
1130 hd->submit_rst_stream(stream, NGHTTP2_NO_ERROR);
1138 void prepare_status_response(Stream *stream, Http2Handler *hd, int status) {
1139 auto sessions = hd->get_sessions();
1156 hd->submit_response(StringRef{status_page->status}, stream->stream_id,
1162 void prepare_echo_response(Stream *stream, Http2Handler *hd) {
1165 hd->submit_rst_stream(stream, NGHTTP2_INTERNAL_ERROR);
1170 hd->submit_rst_stream(stream, NGHTTP2_INTERNAL_ERROR);
1180 if (!hd->get_config()->no_content_length) {
1185 hd->submit_response(StringRef::from_lit("200"), stream->stream_id, headers,
1191 bool prepare_upload_temp_store(Stream *stream, Http2Handler *hd) {
1192 auto sessions = hd->get_sessions();
1211 void prepare_redirect_response(Stream *stream, Http2Handler *hd,
1225 auto sessions = hd->get_sessions();
1228 hd->submit_response(StringRef{status_page->status}, stream->stream_id,
1234 void prepare_response(Stream *stream, Http2Handler *hd,
1239 prepare_status_response(stream, hd, 405);
1266 auto sessions = hd->get_sessions();
1284 prepare_status_response(stream, hd, 404);
1288 if (!hd->get_config()->push.empty()) {
1289 auto push_itr = hd->get_config()->push.find(path.str());
1290 if (allow_push && push_itr != std::end(hd->get_config()->push)) {
1292 rv = hd->submit_push_promise(stream, StringRef{push_path});
1303 auto len = hd->get_config()->htdocs.size() + path.size();
1314 auto &htdocs = hd->get_config()->htdocs;
1324 prepare_echo_response(stream, hd);
1333 prepare_status_response(stream, hd, 404);
1342 prepare_status_response(stream, hd, 404);
1353 prepare_redirect_response(stream, hd, reqpath, 301);
1366 const auto &mime_types = hd->get_config()->mime_types;
1381 hd->submit_response(StringRef::from_lit("304"), stream->stream_id, nullptr);
1388 hd->submit_file_response(StringRef::from_lit("200"), stream,
1401 hd->submit_file_response(StringRef::from_lit("200"), stream, file_ent->mtime,
1410 auto hd = static_cast<Http2Handler *>(user_data);
1415 if (hd->get_config()->verbose) {
1416 print_session_id(hd->session_id());
1420 if (frame->hd.type != NGHTTP2_HEADERS ||
1424 auto stream = hd->get_stream(frame->hd.stream_id);
1430 hd->submit_rst_stream(stream, NGHTTP2_INTERNAL_ERROR);
1485 auto hd = static_cast<Http2Handler *>(user_data);
1487 if (frame->hd.type != NGHTTP2_HEADERS ||
1492 auto stream = std::make_unique<Stream>(hd, frame->hd.stream_id);
1496 hd->add_stream(frame->hd.stream_id, std::move(stream));
1505 auto hd = static_cast<Http2Handler *>(user_data);
1506 if (hd->get_config()->verbose) {
1507 print_session_id(hd->session_id());
1510 switch (frame->hd.type) {
1513 auto stream = hd->get_stream(frame->hd.stream_id);
1518 if (frame->hd.flags & NGHTTP2_FLAG_END_STREAM) {
1520 if (stream->echo_upload || !hd->get_config()->early_response) {
1521 prepare_response(stream, hd);
1530 auto stream = hd->get_stream(frame->hd.stream_id);
1540 hd->submit_non_final_response("100", frame->hd.stream_id);
1544 if (hd->get_config()->echo_upload &&
1547 if (!prepare_upload_temp_store(stream, hd)) {
1548 hd->submit_rst_stream(stream, NGHTTP2_INTERNAL_ERROR);
1551 } else if (hd->get_config()->early_response) {
1552 prepare_response(stream, hd);
1556 if (frame->hd.flags & NGHTTP2_FLAG_END_STREAM) {
1558 if (stream->echo_upload || !hd->get_config()->early_response) {
1559 prepare_response(stream, hd);
1568 if (frame->hd.flags & NGHTTP2_FLAG_ACK) {
1569 hd->remove_settings_timer();
1582 auto hd = static_cast<Http2Handler *>(user_data);
1584 if (hd->get_config()->verbose) {
1585 print_session_id(hd->session_id());
1589 switch (frame->hd.type) {
1592 auto stream = hd->get_stream(frame->hd.stream_id);
1598 if (frame->hd.flags & NGHTTP2_FLAG_END_STREAM) {
1601 session, frame->hd.stream_id),
1614 if (frame->hd.flags & NGHTTP2_FLAG_ACK) {
1618 hd->start_settings_timer();
1624 auto promised_stream = hd->get_stream(promised_stream_id);
1625 auto stream = hd->get_stream(frame->hd.stream_id);
1634 prepare_response(promised_stream, hd, /*allow_push */ false);
1645 auto hd = static_cast<Http2Handler *>(user_data);
1646 auto wb = hd->get_wb();
1648 auto stream = hd->get_stream(frame->hd.stream_id);
1697 auto hd = static_cast<Http2Handler *>(user_data);
1698 return std::min(max_payload, frame->hd.length + hd->get_config()->padding);
1706 auto hd = static_cast<Http2Handler *>(user_data);
1707 auto stream = hd->get_stream(stream_id);
1721 hd->submit_rst_stream(stream, NGHTTP2_INTERNAL_ERROR);
1739 auto hd = static_cast<Http2Handler *>(user_data);
1740 hd->remove_stream(stream_id);
1741 if (hd->get_config()->verbose) {
1742 print_session_id(hd->session_id());