107 sn->connection = request->connection; |
107 sn->connection = request->connection; |
108 sn->netbuf = request->netbuf; |
108 sn->netbuf = request->netbuf; |
109 sn->sn.pool = pool; |
109 sn->sn.pool = pool; |
110 //sn->sn.csd = stream_new_from_fd(pool, request->connection->fd); |
110 //sn->sn.csd = stream_new_from_fd(pool, request->connection->fd); |
111 //sn->sn.csd = net_stream_from_fd(pool, request->connection->fd); |
111 //sn->sn.csd = net_stream_from_fd(pool, request->connection->fd); |
|
112 IOStream *io; |
112 if(request->connection->ssl) { |
113 if(request->connection->ssl) { |
113 sn->sn.csd = net_ssl_stream(pool, request->connection->ssl); |
114 io = sslstream_new(pool, request->connection->ssl); |
114 } else { |
115 } else { |
115 sn->sn.csd = net_stream_from_fd(pool, request->connection->fd); |
116 io = sysstream_new(pool, request->connection->fd); |
116 } |
117 } |
|
118 sn->sn.csd = httpstream_new(pool, io); |
117 |
119 |
118 |
120 |
119 sn->sn.client = pblock_create_pool(sn->sn.pool, 8); |
121 sn->sn.client = pblock_create_pool(sn->sn.pool, 8); |
120 sn->sn.next = NULL; |
122 sn->sn.next = NULL; |
121 sn->sn.fill = 1; |
123 sn->sn.fill = 1; |
293 printf("request body length: %d\n", ctlen); |
295 printf("request body length: %d\n", ctlen); |
294 |
296 |
295 netbuf *nb = request->netbuf; |
297 netbuf *nb = request->netbuf; |
296 |
298 |
297 // create new netbuf |
299 // create new netbuf |
298 NetIOStream *net_io = (NetIOStream*)net_stream_from_fd( |
300 HttpStream *net_io = (HttpStream*)httpstream_new(pool, io); |
299 pool, |
|
300 request->connection->fd); |
|
301 net_io->max_read = ctlen; |
301 net_io->max_read = ctlen; |
302 |
302 |
303 sn->sn.inbuf = pool_malloc(pool, sizeof(netbuf)); |
303 sn->sn.inbuf = pool_malloc(pool, sizeof(netbuf)); |
304 sn->sn.inbuf->sd = net_io; |
304 sn->sn.inbuf->sd = net_io; |
305 sn->sn.inbuf->pos = 0; |
305 sn->sn.inbuf->pos = 0; |