* Introduce D1PreparedStatement.bind_refs which does not take ownership of arguments
* Do not consume prepared statement when binding and batch binding
* Fix D1 tests in CI
* Introduce D1 type enum, support IntoIterator bind arguments
* D1Type Create JsValue on construction
* Another pass on the API ergonomics
* nits / docs
* Tweak batch_bind
* Prepare to remove global Fetch for http
* clippy
* Refactor worker test harness
* Axum test harness
* Get more tests working
* Macro for marking future as Send
* Remaining axum routes
* More documentation
* Cleanup
Adds the ability to clone Responses. As a part of this commit we also
refactor ResponseBody to not include a whole request as part of the
Stream variant. This is a breaking change, but makes a lot more sense.
Implements a future called worker::Delay that allows you to wait for a
specified std::time::Duration. This is useful for things like having a
timeout for worker::Fetch requests when combined with a
worker::AbortController.
With the addition of integration testing for websockets we
unintentionally introduced a warning where some functions declared in
the integration test's util module were unused. This is because all
integration tests are compiled as seperate binaries so for the websocket
binary functions weren't used for that specific compile job.
This also adjust flags in the CI to catch warnings like this in the
future.
* refactor: make websocket api more idiomatic
The current WebSocket api is closely modelled after the JavaScript
WebSocket api which is functional but seems like a strange fit inside of
a rust program. This commit refactors the WebSocket api to use
futures::Stream instead of several functions with callbacks.
* chore: fix import
* chore: integration testing for websockets
* refactor: make Websocket's get_data private and add get_json
* refactor: rename MessageEvent methods to be more rusty
* chore: test received close event
* refactor: rename send_with_binary to send_with_bytes
* chore: fix formatting
Removes a route it's test in the sandbox to fix an issue where the CI
would randomly fail or pass. Outbound HTTP requests are still used
within the example worker so the use case is still tested.