 +                       "http3 output header: \"location: %V\"",
 +                       &r->headers_out.location->value);
 +
-+        h = ngx_array_push(out);
++        h = ngx_array_push(r->qstream->headers);
 +        if (h == NULL) {
 +            return NGX_ERROR;
 +        }

+    h3c = r->qstream->connection;
+    c = h3c->connection;
+
+    if (r->qstream->headers == NULL) {
+
+        r->qstream->headers =
+            ngx_array_create(r->pool, 1, sizeof(quiche_h3_header));
+
+        if (r->qstream->headers == NULL) {
+            return NGX_ERROR;
+        }
+
+        if (ngx_http_v3_push_response_headers(r, r->qstream->headers) != NGX_OK) {
+            return NGX_ERROR;
+        }
+    }
+
+    fin = r->header_only

+
+    /* Generate Content-Type header. */
+    if (r->headers_out.content_type.len) {
+        h = ngx_array_push(r->qstream->headers);
+        if (h == NULL) {
+            return NGX_ERROR;
+        }
