| 1171 | } |
| 1172 | |
| 1173 | static apr_status_t session_shutdown(h2_proxy_session *session, int reason, |
| 1174 | const char *msg) |
| 1175 | { |
| 1176 | apr_status_t status = APR_SUCCESS; |
| 1177 | const char *err = msg; |
| 1178 | |
| 1179 | ap_assert(session); |
| 1180 | if (!err && reason) { |
| 1181 | err = nghttp2_strerror(reason); |
| 1182 | } |
| 1183 | nghttp2_submit_goaway(session->ngh2, NGHTTP2_FLAG_NONE, 0, |
| 1184 | reason, (uint8_t*)err, err? strlen(err):0); |
| 1185 | status = nghttp2_session_send(session->ngh2); |
| 1186 | dispatch_event(session, H2_PROXYS_EV_LOCAL_GOAWAY, reason, err); |
| 1187 | return status; |
| 1188 | } |
| 1189 | |
| 1190 | |
| 1191 | static const char *StateNames[] = { |
no test coverage detected