Commit Graph

107 Commits

Author SHA1 Message Date
Jarred Sumner
b4e6ca0462 ComptimeStringMap is faster than ExactSizeMatcher 2022-12-01 20:51:35 -08:00
Jarred Sumner
b631ea7d72 import everything from "bun" where possible 2022-11-29 02:42:56 -08:00
Jarred Sumner
b230e7a73a [fetch] Fix sporadic data corruption bug in HTTP client and add fast path
- This removes memory pooling from the HTTP client which sometimes caused invalid memory to be written to the response body.
- This adds a fast path for small HTTP/HTTPS responses that makes it a single memory allocation for the response body, instead of copying & allocating a temporary buffer

cc @Electroid
2022-11-19 22:34:57 -08:00
Jarred SUmner
1cce9da80a Fix memory leak in gzip pool + add test for gzip'd data 2022-11-12 18:32:53 -08:00
Jarred Sumner
fac1c49727 Fixup 2022-11-09 01:15:36 -08:00
Jarred Sumner
d90a638101 Re-enable workaround for 127.0.0.01 2022-11-09 01:12:35 -08:00
Jarred Sumner
02c920f4fd TCP & TLS Socket API (#1374)
* TCP Socket API

* Wip

* Add snippet for StringDecoder

* Rename `close` to `stop`, replace `close` with `end`

* Add a tcp echo server test

* Some docs

* Update README.md

* Fix build

* Update README.md

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-10-25 00:44:25 -07:00
Jarred Sumner
41f9fd85f6 Handle assertion faillure 2022-10-17 07:24:12 -07:00
Jarred Sumner
3c1e3792d6 Fix #1335 2022-10-16 20:43:43 -07:00
Jarred Sumner
820e6605f8 Simplify the code that reads HTTP client request bodies 2022-10-15 22:47:18 -07:00
Jarred Sumner
1b1b96aff8 add more logging 2022-10-15 21:01:50 -07:00
Jarred Sumner
c6fe82018a Fix bug where pong would put it in invalid state 2022-10-15 04:14:55 -07:00
Jarred Sumner
3016723198 Add some logging to WebSocket client 2022-10-15 04:14:42 -07:00
Jarred Sumner
c2c9173eff Fix https://github.com/oven-sh/bun/issues/1263
What happened: when moving to uSockets for the http client, I forgot to call `SSL_set_tlsext_host_name` and uSockets apparently doesn't do that
2022-10-08 01:06:35 -07:00
Jarred Sumner
bff3b902e8 Fix unref'ing websocket 2022-10-01 18:06:01 -07:00
Jarred Sumner
90074ce98c Clean up WebSocket never starting 2022-09-28 23:37:40 -07:00
Jarred Sumner
3719c3b736 Update & configure SSL a little 2022-09-17 21:45:03 -07:00
Jarred Sumner
3ae950d829 Fix missing reason and code in CloseEvent
cc @paperdave

hardcoded right now but at least tells you why it closed
2022-09-17 00:42:20 -07:00
Jarred Sumner
0ce709d96a Make new HTTP client more stable 2022-09-16 00:53:03 -07:00
Jarred Sumner
fd808dec52 Use entropy cache for websocket mask 2022-09-14 21:35:12 -07:00
Jarred Sumner
ac949f8181 Fix issue with websockets callback not registering in canary 2022-09-14 21:34:29 -07:00
Jarred Sumner
a291c1676f 5x faster crypto.randomValues() 2022-09-14 18:23:22 -07:00
Jarred Sumner
9a5aa059f9 New HTTP client (#1231)
* wip

* It mostly works!

* Support `bun install`

* Support `bun create`

* Support chunked transfer encoding

* Handle Keep Alive when redirecting to a different domain

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-09-11 13:37:17 -07:00
Jarred Sumner
38071ce9d5 Update mime_type.zig 2022-08-22 09:14:41 -07:00
Jarred Sumner
51ced7d3e3 Fix bun:wrap not loading 2022-08-18 19:05:07 -07:00
Jarred Sumner
f90c09d715 wip SyntheticModule 2022-08-13 18:18:05 -07:00
Jarred Sumner
f09e7ac630 improve reliability of WebSocket
- Fix GC not keeping WebSocket alive
- Fix ignoring messages sent immediately after upgrade

Fixes https://github.com/oven-sh/bun/issues/521
2022-08-10 17:40:17 -07:00
Soney Mathew
9fad889f26 Fix for bearer tokens missing from request headers on bun install step (#991) 2022-08-05 03:15:26 -07:00
Jarred Sumner
928f6e068b Don't use SIMD in non-SIMD builds 2022-08-03 18:35:53 -07:00
Jarred Sumner
e4016c1a77 [http] Fix assertion 2022-07-12 22:56:20 -07:00
Jarred Sumner
07050901a6 [fetch] Fix data corruption bug 2022-06-27 05:29:25 -07:00
Jarred Sumner
f05428e4f3 Fix WebSocket when HTTP server is not running 2022-06-22 21:11:10 -07:00
Jarred Sumner
41575b982c cleanup 2022-06-22 16:48:03 -07:00
Jarred Sumner
d9f6a3f2d2 Fix close 2022-06-22 06:56:47 -07:00
Jarred Sumner
0c12f1684f [websockets] Support receiving data of length 128 - 65354, bigger not supported yet 2022-06-22 06:56:47 -07:00
Jarred Sumner
d057b89a33 Sending works 2022-06-22 06:56:47 -07:00
Jarred Sumner
dda85d92c9 implement a custom websocket client 2022-06-22 06:56:47 -07:00
Jarred Sumner
ab888d2ebe It connects! but the frames are corrupt 2022-06-22 06:56:47 -07:00
Jarred Sumner
be9efacf1b WebSocket is a global 2022-06-22 06:56:47 -07:00
Jarred Sumner
38cc869104 WIP WebSocket 2022-06-22 06:56:47 -07:00
Jarred Sumner
4708dd26ca work around fetch("localhost") bug 2022-04-11 05:17:02 -07:00
Jarred Sumner
f01a2a3360 Fix some mime types to match expectations 2022-04-07 21:47:27 -07:00
Jarred Sumner
e035084e49 Fix mimetype value 2022-04-01 19:50:38 -07:00
Jarred Sumner
e3fb88b06a [bun.js] configuration and error handling for HTTP server 2022-03-25 07:12:02 -07:00
Jarred Sumner
be5789fe01 Auto-detect MimeType based on file extension 2022-03-24 22:29:05 -07:00
Jarred Sumner
7dc76bf709 Set charset=utf-8 for better consistentcy 2022-03-18 20:18:58 -07:00
Jarred Sumner
74f4c8bcab query_string_map -> url 2022-03-17 01:27:35 -07:00
Jarred Sumner
701d6ec45d rename _global -> bun 2022-03-08 18:54:54 -08:00
Jarred Sumner
7c5c6cd519 source maps work for app code in bun dev! 2022-03-06 07:35:16 -08:00
Jarred Sumner
51fbbea1d3 upgrade zig 2022-03-04 00:20:22 -08:00