__header(connection, connection) \
__header(cookie, cookie) \
__header(host, host) \
+ __header(origin, origin) \
__header(referer, referer) \
__header(user_agent, user-agent) \
__header(content_type, content-type) \
{ "HTTP_CONNECTION", HDR_connection },
{ "HTTP_COOKIE", HDR_cookie },
{ "HTTP_HOST", HDR_host },
+ { "HTTP_ORIGIN", HDR_origin },
{ "HTTP_REFERER", HDR_referer },
{ "HTTP_USER_AGENT", HDR_user_agent },
{ "HTTP_X_HTTP_METHOD_OVERRIDE", HDR_x_http_method_override },
struct client *cl = container_of(fd, struct client, dispatch.proc.wrfd);
client_poll_post_data(cl);
- cl->dispatch.data_blocked = false;
}
static void proc_relay_write_cb(struct client *cl)
if (errno == EINTR)
continue;
- if (errno == EAGAIN || errno == EWOULDBLOCK) {
- cl->dispatch.data_blocked = true;
+ if (errno == EAGAIN || errno == EWOULDBLOCK)
break;
- }
/* consume all data */
ret = len;
proc->wrfd.fd = wfd[1];
uh_relay_open(cl, &proc->r, rfd[0], pid);
- uloop_fd_add(&proc->wrfd, ULOOP_WRITE);
d->free = proc_free;
d->close_fds = proc_close_fds;