| 541 st->written += w; |
541 st->written += w; |
| 542 return w; |
542 return w; |
| 543 } |
543 } |
| 544 } |
544 } |
| 545 |
545 |
| 546 ssize_t net_http_write_raw(HttpStream *st, const void *buf, size_t nbytes) { |
|
| 547 return st->fd->write(st->fd, buf, nbytes); |
|
| 548 } |
|
| 549 |
|
| 550 ssize_t net_http_writev_raw(HttpStream *st, struct iovec *iovec, int iovcnt) { |
|
| 551 return st->fd->writev(st->fd, iovec, iovcnt); |
|
| 552 } |
|
| 553 |
|
| 554 ssize_t net_http_read(HttpStream *st, void *buf, size_t nbytes) { |
546 ssize_t net_http_read(HttpStream *st, void *buf, size_t nbytes) { |
| 555 if(st->read >= st->max_read) { |
547 if(st->read >= st->max_read && !st->raw) { |
| 556 st->read_eof = WS_TRUE; |
548 st->read_eof = WS_TRUE; |
| 557 return 0; |
549 return 0; |
| 558 } |
550 } |
| 559 ssize_t r = st->fd->read(st->fd, buf, nbytes); |
551 ssize_t r = st->fd->read(st->fd, buf, nbytes); |
| 560 if(r < 0) { |
552 if(r < 0) { |