Merge branch 'master' into 3.3.0-releng

This commit is contained in:
Joris Vink 2019-06-05 10:44:11 +02:00
commit f389d5119b
2 changed files with 8 additions and 2 deletions

View File

@ -675,6 +675,7 @@ struct pyhttp_client_op {
int headers;
struct kore_curl curl;
struct python_coro *coro;
struct pyhttp_client *client;
};
static PyObject *pyhttp_client_op_await(PyObject *);

View File

@ -3159,11 +3159,14 @@ pyhttp_response(struct pyhttp_request *pyreq, PyObject *args)
} else if (obj == Py_None) {
http_response(pyreq->req, status, NULL, 0);
} else {
c = pyreq->req->owner;
if (c->state == CONN_STATE_DISCONNECTING) {
Py_RETURN_FALSE;
}
if ((iterator = PyObject_GetIter(obj)) == NULL)
return (NULL);
c = pyreq->req->owner;
iterobj = kore_pool_get(&iterobj_pool);
iterobj->iterator = iterator;
iterobj->connection = c;
@ -4228,6 +4231,7 @@ pyhttp_client_request(struct pyhttp_client *client, int m, PyObject *kwargs)
op->state = PYHTTP_CLIENT_OP_RUN;
Py_INCREF(client);
op->client = client;
kore_curl_http_setup(&op->curl, m, ptr, length);
kore_curl_bind_callback(&op->curl, python_curl_callback, op);
@ -4302,6 +4306,7 @@ pyhttp_client_request(struct pyhttp_client *client, int m, PyObject *kwargs)
static void
pyhttp_client_op_dealloc(struct pyhttp_client_op *op)
{
Py_DECREF(op->client);
kore_curl_cleanup(&op->curl);
PyObject_Del((PyObject *)op);
}