A really basic Cloudflare worker made in rust

Overview

Issues License Stargazers


Logo

Rust WebAssembly Worker

A really basic Cloudflare worker made in rust.

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Acknowledgements

About The Project

A really basic and minimum implementation of a rust Cloudflare worker.
I made this to learn and try out Cloudflare workers.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Installation

Cloning

  1. Clone the repo
    git clone https://github.com/BrammyS/rust-wasm-worker.git
  2. Go to the git folder
    cd rust-wasm-worker
  3. Run the local dev build
    wrangler dev

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache License 2.0 License. See LICENSE for more information.

Acknowledgements

Comments
  • Build(deps): Bump chrono from 0.4.19 to 0.4.21

    Build(deps): Bump chrono from 0.4.19 to 0.4.21

    Bumps chrono from 0.4.19 to 0.4.21.

    Release notes

    Sourced from chrono's releases.

    0.4.21 is a bugfix release that mainly fixes one regression from 0.4.20:

    • Fall back to UTC in case no timezone is found. Unfortunately this is a regression from the changes we made in 0.4.20 where we now parse the timezone database ourselves. Before 0.4.20, TimeZone::now() fell back to UTC in the case it could not find the current timezone, but the new implementation panicked in that case.
    • Correctly detect timezone on Android (also #756). Android does have the timezone database installed, but it's in a different path, and it does not use /etc/localtime to keep track of the current timezone. Instead we now use the iana-time-zone crate as a dependency, since it already has quite a bit of logic for finding the current timezone on a host of platforms.

    Additionally, there is a documentation fix that reverts an incorrect guarantee:

    • Document that %Y can have a negative value, both in formatting and in parsing (#760, thanks to @​alex)

    0.4.20

    chrono is a date and time library for Rust and 0.4.20 is the first chrono release since Sep 2020. There has been a long hiatus since the previous maintainer was no longer able to spend much time on the crate; thanks to @​quodlibetor for their stewardship of the chrono crate for many years! The new maintainers are @​djc and @​esheppa. Our first priority has been fixing the soundness issues with calls to localtime_r() as first reported in #499 and the RUSTSEC-2020-0159 advisory. In order to do this we adapted code from the tz-rs crate maintained by @​x-hgg-x for use within chrono -- thanks for working on that! With the new implementation, chrono uses safe Rust code to parse the timezone data files on Unix platforms directly instead of relying on libc.

    Due to compatibility reasons, this release does not yet remove the time 0.1 dependency, though chrono 0.4.20 does not depend on the vulnerable parts of the time 0.1.x versions. In a future 0.5 release, we will remove the time dependency.

    The minimum supported Rust version for 0.4.20 is 1.32.0, which is intentionally still quite conservative. If you are using chrono 0.4 with a Rust version older than 1.52, we'd like to hear from you since we'd like to further modernize the code base to ease maintenance.

    Fixes

    • Fix unsound call to localtime_r() by parsing timezone files in Rust on Unix (#677 and #728)
    • Allow RFC 2822 parser to deal with comments (#733 then #737, thanks to @​Finomnis)
    • Avoid panicking during parsing (#686, thanks to @​botahamec)
    • Avoid panics when rounding durations (#659, thanks to @​ARBaart)
    • Fix Duration::abs() behavior in case of negative durations with nanoseconds (#734, thanks to @​abreis)

    Additions

    Non-functional improvements

    • Improve CI to better exercise WASM targets (#662, thanks to @​AmateurECE)
    • More WASM testing improvements, enable dependencies by default (#746)
    • Fix compiling for wasm32-unknown-emscripten target (#568, thanks to @​orion78fr)
    • Use stub implementation for anything not unix and not windows (#593, thanks to @​yu-re-ka)
    • Remove now unused libc dependency (#710, thanks to @​metent)
    • Clean up some clippy warnings (#721, thanks to @​botahamec)
    • Clarify documentation for Utc::now() (#647, thanks to @​ModProg)

    ... (truncated)

    Changelog

    Sourced from chrono's changelog.

    ChangeLog for Chrono

    This documents all notable changes to Chrono.

    Chrono obeys the principle of Semantic Versioning, with one caveat: we may move previously-existing code behind a feature gate and put it behind a new feature. This new feature will always be placed in the previously-default feature, which you can use to prevent breakage if you use no-default-features.

    There were/are numerous minor versions before 1.0 due to the language changes. Versions with only mechanical changes will be omitted from the following list.

    0.4.20 (unreleased)

    • Add more formatting documentation and examples.
    • Add support for microseconds timestamps serde serialization/deserialization (#304)
    • Fix DurationRound is not TZ aware (#495)
    • Implement DurationRound for NaiveDateTime
    • Implement std::iter::Sum for Duration
    • Add DateTime::from_local() to construct from given local date and time (#572)
    • Add a function that calculates the number of years elapsed between now and a given Date or DateTime (#557)
    • Correct build for wasm32-unknown-emscripten target (#568)
    • Change Local::now() and Utc::now() documentation from "current date" to "current date and time" (#647)
    • Fix duration_round panic on rounding by Duration::zero() (#658)
    • Add optional rkyv support.
    • Add support for microseconds timestamps serde serialization for NaiveDateTime.
    • Add support for optional timestamps serde serialization for NaiveDateTime.
    • Fix build for wasm32-unknown-emscripten (@​yu-re-ka #593)
    • Make ParseErrorKind public and available through ParseError::kind() (#588)
    • Implement DoubleEndedIterator for NaiveDateDaysIterator and NaiveDateWeeksIterator
    • Fix panicking when parsing a DateTime (@​botahamec)
    • Add support for getting week bounds based on a specific NaiveDate and a Weekday (#666)
    • Remove libc dependency from Cargo.toml.
    • Add the and_local_timezone method to NaiveDateTime
    • Fix the behavior of Duration::abs() for negative durations with non-zero nanos
    • Add compatibility with rfc2822 comments (#733)
    • Make js-sys and wasm-bindgen enabled by default when target is wasm32-unknown-unknown for ease of API discovery
    • Add the Months struct and associated Add and Sub impls
    Commits
    • 2d22e57 Bump version number to 0.4.21
    • 557bcd5 handle missing /etc/localtime on some unix platforms (#756)
    • 5edf4d0 fixes #758 -- correctly document that %Y parses negative years (#760)
    • a185d3b Remove unnecessary try_opt!() macro
    • 0b7feac Clean up some unreachable_pub warnings
    • 65f1f2e Bump version to 0.4.20
    • bd3b48d Revise Months API
    • ab688c3 Implement Add\<Months> and Sub\<Months> for NaiveDate (#731)
    • 782f904 Clarify docs for DateTime::with_timezone
    • 27c0558 dont use stub.rs when wasmbind feature is enabled
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Build(deps): Bump chrono from 0.4.19 to 0.4.20

    Build(deps): Bump chrono from 0.4.19 to 0.4.20

    Bumps chrono from 0.4.19 to 0.4.20.

    Release notes

    Sourced from chrono's releases.

    0.4.20

    chrono is a date and time library for Rust and 0.4.20 is the first chrono release since Sep 2020. There has been a long hiatus since the previous maintainer was no longer able to spend much time on the crate; thanks to @​quodlibetor for their stewardship of the chrono crate for many years! The new maintainers are @​djc and @​esheppa. Our first priority has been fixing the soundness issues with calls to localtime_r() as first reported in #499 and the RUSTSEC-2020-0159 advisory. In order to do this we adapted code from the tz-rs crate maintained by @​x-hgg-x for use within chrono -- thanks for working on that! With the new implementation, chrono uses safe Rust code to parse the timezone data files on Unix platforms directly instead of relying on libc.

    Due to compatibility reasons, this release does not yet remove the time 0.1 dependency, though chrono 0.4.20 does not depend on the vulnerable parts of the time 0.1.x versions. In a future 0.5 release, we will remove the time dependency.

    The minimum supported Rust version for 0.4.20 is 1.32.0, which is intentionally still quite conservative. If you are using chrono 0.4 with a Rust version older than 1.52, we'd like to hear from you since we'd like to further modernize the code base to ease maintenance.

    Fixes

    • Fix unsound call to localtime_r() by parsing timezone files in Rust on Unix (#677 and #728)
    • Allow RFC 2822 parser to deal with comments (#733 then #737, thanks to @​Finomnis)
    • Avoid panicking during parsing (#686, thanks to @​botahamec)
    • Avoid panics when rounding durations (#659, thanks to @​ARBaart)
    • Fix Duration::abs() behavior in case of negative durations with nanoseconds (#734, thanks to @​abreis)

    Additions

    Non-functional improvements

    0.4.20-rc.1

    0.4.20 is the first chrono release since Sep 2020. There has been a long hiatus since the previous maintainer was no longer able to spend much time on the crate; thanks to @​quodlibetor for their stewardship of the chrono crate for many years! The new maintainers are @​djc and @​esheppa. Our first priority has been fixing the soundness issues with calls to localtime_r() as first reported in #499 and the RUSTSEC-2020-0159 advisory. In order to do this we adapted code from the tz-rs crate maintained by @​x-hgg-x for use within chrono -- thanks for working on that! With the new implementation, chrono uses safe Rust code to parse the timezone data files on Unix platforms directly instead of relying on libc.

    ... (truncated)

    Changelog

    Sourced from chrono's changelog.

    0.4.20 (unreleased)

    • Add more formatting documentation and examples.
    • Add support for microseconds timestamps serde serialization/deserialization (#304)
    • Fix DurationRound is not TZ aware (#495)
    • Implement DurationRound for NaiveDateTime
    • Implement std::iter::Sum for Duration
    • Add DateTime::from_local() to construct from given local date and time (#572)
    • Add a function that calculates the number of years elapsed between now and a given Date or DateTime (#557)
    • Correct build for wasm32-unknown-emscripten target (#568)
    • Change Local::now() and Utc::now() documentation from "current date" to "current date and time" (#647)
    • Fix duration_round panic on rounding by Duration::zero() (#658)
    • Add optional rkyv support.
    • Add support for microseconds timestamps serde serialization for NaiveDateTime.
    • Add support for optional timestamps serde serialization for NaiveDateTime.
    • Fix build for wasm32-unknown-emscripten (@​yu-re-ka #593)
    • Make ParseErrorKind public and available through ParseError::kind() (#588)
    • Implement DoubleEndedIterator for NaiveDateDaysIterator and NaiveDateWeeksIterator
    • Fix panicking when parsing a DateTime (@​botahamec)
    • Add support for getting week bounds based on a specific NaiveDate and a Weekday (#666)
    • Remove libc dependency from Cargo.toml.
    • Add the and_local_timezone method to NaiveDateTime
    • Fix the behavior of Duration::abs() for negative durations with non-zero nanos
    • Add compatibility with rfc2822 comments (#733)
    • Make js-sys and wasm-bindgen enabled by default when target is wasm32-unknown-unknown for ease of API discovery
    • Add the Months struct and associated Add and Sub impls
    Commits
    • 0b7feac Clean up some unreachable_pub warnings
    • 65f1f2e Bump version to 0.4.20
    • bd3b48d Revise Months API
    • ab688c3 Implement Add\<Months> and Sub\<Months> for NaiveDate (#731)
    • 782f904 Clarify docs for DateTime::with_timezone
    • 27c0558 dont use stub.rs when wasmbind feature is enabled
    • 56f80e4 run on all branches and also for changes in the ci folder
    • 353f179 Implement std::error::Error for ParseWeekdayError
    • 309cbeb Fixed typo in deprecation notice
    • 26e231a Bump version to 0.4.20-rc.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Build(deps): Bump console_error_panic_hook from 0.1.6 to 0.1.7

    Build(deps): Bump console_error_panic_hook from 0.1.6 to 0.1.7

    Bumps console_error_panic_hook from 0.1.6 to 0.1.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Build(deps): Bump cfg-if from 0.1.10 to 1.0.0

    Build(deps): Bump cfg-if from 0.1.10 to 1.0.0

    ⚠️ Dependabot is rebasing this PR ⚠️

    Rebasing might not happen immediately, so don't worry if this takes some time.

    Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


    Bumps cfg-if from 0.1.10 to 1.0.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Build(deps): Bump worker from 0.0.11 to 0.0.12

    Build(deps): Bump worker from 0.0.11 to 0.0.12

    Bumps worker from 0.0.11 to 0.0.12.

    Release notes

    Sourced from worker's releases.

    Release v0.0.12

    Full Changelog: https://github.com/cloudflare/workers-rs/compare/v0.0.11...v0.0.12

    Commits
    • 9d99271 chore: update workers-rs version
    • b8f4648 Merge pull request #243 from cloudflare/zeb/service-bindings
    • c999534 chore: add integration testing for service bindings
    • cd1d989 Add Service Bindings support
    • f3e65bd chore: increment worker-build version
    • cd400f8 Merge pull request #226 from cloudflare/zeb/esbuild-windows
    • 41b8583 Merge pull request #229 from oldcomputer2007/oldcomputer2007/esbuild-minify
    • f78a691 refactor: use matches! macro to remove verbosity as suggested by clippy
    • 9d77c9c refactor: handle NotPresent error instead of broad is_ok check
    • fb85823 feat(esbuild): minify esbuild bundle by default
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump chrono from 0.4.22 to 0.4.23

    Build(deps): Bump chrono from 0.4.22 to 0.4.23

    Bumps chrono from 0.4.22 to 0.4.23.

    Release notes

    Sourced from chrono's releases.

    0.4.23 is the next 0.4 release of the popular chrono date and time library for Rust. After the 0.4.20-0.4.22 series that brought chrono back to life after a long hiatus, development has been fairly quiet, allowing us to start planning changes for the 0.5.0 release. As such, we've started deprecating some APIs that are likely to be removed in 0.5. If you have any feedback on these changes, please let us know in the issue tracker!

    Deprecations

    • Deprecate methods that have an _opt() alternative (#827)
    • Deprecate usage of the Date<Tz> type (#851)

    Features

    • Optimize RFC 3339 (and RFC 2822) encoding (#844, thanks to @​conradludgate)
    • Addition and subtraction with the Days type (#784)
    • Add NaiveDateTime::from_timestamp_millis(_opt) (#818, thanks to @​Pscheidl -- backported in #823)
    • Allow for changing TZ variable and cache it for Local timezone (#853)
    • Add optional support for the arbitrary::Arbitrary trait (#849, thanks to @​greyblake and @​asayers)

    Fixes

    • Support tzdb location on AIX (#826)
    • Fix warnings in documentation (#847)

    On behalf of @​esheppa and @​djc, thanks to all contributors!

    Commits
    • 9e5eb49 Bump version to 0.4.23
    • dc4287a store hash of environment variable
    • 57908e9 allow sharing of the allocated environment variable
    • 84f3c30 move last_changed to the Cache
    • 8bc4139 add bench for Local::now()
    • 22b4d32 Avoid use of deprecated API
    • 77317d5 Deprecate usage of the Date<Tz> type
    • 7ba090d Add TimeZone::with_ymd_and_hms() helper method
    • 03165c8 Move Date::years_since() implementation into NaiveDate
    • 645fca0 chore: apply clippy suggestions for 1.65
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump iana-time-zone from 0.1.44 to 0.1.51

    Build(deps): Bump iana-time-zone from 0.1.44 to 0.1.51

    Bumps iana-time-zone from 0.1.44 to 0.1.51.

    Changelog

    Sourced from iana-time-zone's changelog.

    Changelog

    All notable changes to this project will be documented in this file.

    The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

    [0.1.50] - 2022-09-23

    Fixed

    • Reduce MSRV for Android again (#62)

    [0.1.49] - 2022-09-22

    Changed

    • once_cell dependency is not needed (#61)

    [0.1.48] - 2022-09-12

    Changed

    • Downgrade requirements for WASM dependencies (#58)
    • Reduce MSRV for Tier 1 platforms to 1.31 (#59)

    [0.1.47] - 2022-08-30

    Changed

    • Update android_system_properties to v0.1.5 to run 9786% faster (YMMV) (#56)

    [0.1.46] - 2022-08-18

    Added

    • Implement for Solaris (#55)

    [0.1.45] - 2022-08-16

    Fixed

    Commits
    • 8ed756e Increment version number
    • 999d837 Merge remote-tracking branch 'origin/lopopolo/android-typos'
    • fd3d810 Merge pull request #66 from Kijewski/pr-haiku
    • 1f38743 Merge pull request #69 from strawlab/lopopolo/android-cstring-test
    • 5639513 Merge pull request #67 from Kijewski/pr-macos-safe2
    • 8b9c9f0 add documentation about lifetime
    • 770edec add clarifying comment
    • 9fbf7a6 mark function as unsafe
    • 29a62fe Make android timezone property getter pub(crate)
    • df6ac02 Refactor Android property key CStr construction to add tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump worker from 0.0.10 to 0.0.11

    Build(deps): Bump worker from 0.0.10 to 0.0.11

    Bumps worker from 0.0.10 to 0.0.11.

    Release notes

    Sourced from worker's releases.

    Release v0.0.11

    Full Changelog: https://github.com/cloudflare/workers-rs/compare/v0.0.10...v0.0.11

    Commits
    • 318117a chore: increment worker version
    • 424e68a chore: increment worker-build version
    • 9f8d2d7 chore: increment worker-macros version
    • f0378da chore: increment worker-sys version
    • fa59b7b Merge pull request #218 from cloudflare/zeb/dynamic-dispatch
    • bf461c4 Merge pull request #216 from cjpatton/bug-do-alarm-offset
    • 223aa17 chore: fix formatting
    • af6ef34 feat: add dynamic dispatch binding
    • 413cfc6 Merge pull request #217 from cloudflare/zeb/fix-flaky-tests
    • 5b8cd77 fix: flaky worker-sandbox tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump chrono from 0.4.19 to 0.4.22

    Build(deps): Bump chrono from 0.4.19 to 0.4.22

    Bumps chrono from 0.4.19 to 0.4.22.

    Release notes

    Sourced from chrono's releases.

    0.4.22

    Unfortunately the introduction of the iana-time-zone dependency in 0.4.21 caused some new regressions with lesser known platforms. This release fixes all of the issues we've encountered, improving the situation on some WebAssembly targets, SGX and on macOS/iOS. We've improved our CI setup to hopefully catch more of these issues before release in the future.

    • Make wasm-bindgen optional on wasm32-unknown-unknown target (#771)
    • Avoid iana-time-zone dependency on x86_64-fortanix-unknown-sgx (#767, thanks to @​trevor-crypto)
    • Update iana-time-zone version to 0.1.44 to avoid cyclic dependencies (#773, thanks to @​Kijewski for the upstream PRs)
    • Clarify documentation about year range in formatting/parsing (#765)

    0.4.21 is a bugfix release that mainly fixes one regression from 0.4.20:

    • Fall back to UTC in case no timezone is found. Unfortunately this is a regression from the changes we made in 0.4.20 where we now parse the timezone database ourselves. Before 0.4.20, TimeZone::now() fell back to UTC in the case it could not find the current timezone, but the new implementation panicked in that case.
    • Correctly detect timezone on Android (also #756). Android does have the timezone database installed, but it's in a different path, and it does not use /etc/localtime to keep track of the current timezone. Instead we now use the iana-time-zone crate as a dependency, since it already has quite a bit of logic for finding the current timezone on a host of platforms.

    Additionally, there is a documentation fix that reverts an incorrect guarantee:

    • Document that %Y can have a negative value, both in formatting and in parsing (#760, thanks to @​alex)

    0.4.20

    chrono is a date and time library for Rust and 0.4.20 is the first chrono release since Sep 2020. There has been a long hiatus since the previous maintainer was no longer able to spend much time on the crate; thanks to @​quodlibetor for their stewardship of the chrono crate for many years! The new maintainers are @​djc and @​esheppa. Our first priority has been fixing the soundness issues with calls to localtime_r() as first reported in #499 and the RUSTSEC-2020-0159 advisory. In order to do this we adapted code from the tz-rs crate maintained by @​x-hgg-x for use within chrono -- thanks for working on that! With the new implementation, chrono uses safe Rust code to parse the timezone data files on Unix platforms directly instead of relying on libc.

    Due to compatibility reasons, this release does not yet remove the time 0.1 dependency, though chrono 0.4.20 does not depend on the vulnerable parts of the time 0.1.x versions. In a future 0.5 release, we will remove the time dependency.

    The minimum supported Rust version for 0.4.20 is 1.32.0, which is intentionally still quite conservative. If you are using chrono 0.4 with a Rust version older than 1.52, we'd like to hear from you since we'd like to further modernize the code base to ease maintenance.

    Fixes

    • Fix unsound call to localtime_r() by parsing timezone files in Rust on Unix (#677 and #728)
    • Allow RFC 2822 parser to deal with comments (#733 then #737, thanks to @​Finomnis)
    • Avoid panicking during parsing (#686, thanks to @​botahamec)
    • Avoid panics when rounding durations (#659, thanks to @​ARBaart)
    • Fix Duration::abs() behavior in case of negative durations with nanoseconds (#734, thanks to @​abreis)

    Additions

    Non-functional improvements

    ... (truncated)

    Changelog

    Sourced from chrono's changelog.

    0.4.22

    0.4.21

    0.4.20

    • Add more formatting documentation and examples.
    • Add support for microseconds timestamps serde serialization/deserialization (#304)
    • Fix DurationRound is not TZ aware (#495)
    • Implement DurationRound for NaiveDateTime
    • Implement std::iter::Sum for Duration
    • Add DateTime::from_local() to construct from given local date and time (#572)
    • Add a function that calculates the number of years elapsed between now and a given Date or DateTime (#557)
    • Correct build for wasm32-unknown-emscripten target (#568)
    • Change Local::now() and Utc::now() documentation from "current date" to "current date and time" (#647)
    • Fix duration_round panic on rounding by Duration::zero() (#658)
    • Add optional rkyv support.
    • Add support for microseconds timestamps serde serialization for NaiveDateTime.
    • Add support for optional timestamps serde serialization for NaiveDateTime.
    • Fix build for wasm32-unknown-emscripten (@​yu-re-ka #593)
    • Make ParseErrorKind public and available through ParseError::kind() (#588)
    • Implement DoubleEndedIterator for NaiveDateDaysIterator and NaiveDateWeeksIterator
    • Fix panicking when parsing a DateTime (@​botahamec)
    • Add support for getting week bounds based on a specific NaiveDate and a Weekday (#666)
    • Remove libc dependency from Cargo.toml.
    • Add the and_local_timezone method to NaiveDateTime
    • Fix the behavior of Duration::abs() for negative durations with non-zero nanos
    • Add compatibility with rfc2822 comments (#733)
    • Make js-sys and wasm-bindgen enabled by default when target is wasm32-unknown-unknown for ease of API discovery
    • Add the Months struct and associated Add and Sub impls
    Commits
    • 4514276 update changelog
    • db8bde3 Apply clippy suggestions
    • f6b575c Bump version number to 0.4.22
    • af69b90 Require iana-time-zone 0.1.44
    • 84f98e0 set fallback feature in iana-time-zone depedency
    • 511d368 Add sgx build to CI
    • bee614a Do not include iana-time-zone for sgx
    • fe4bd22 allow optional wasmbindgen
    • 95223ee format: be specific about support year range
    • 2d22e57 Bump version number to 0.4.21
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump worker from 0.0.9 to 0.0.10

    Build(deps): Bump worker from 0.0.9 to 0.0.10

    Bumps worker from 0.0.9 to 0.0.10.

    Release notes

    Sourced from worker's releases.

    v0.0.10

    Full Changelog: https://github.com/cloudflare/workers-rs/compare/v0.0.9...v0.0.10

    Commits
    • 7a103ef chore: increment workers-rs version
    • 30d0694 chore: increment worker-macros version
    • 7600a43 chore: increment worker-sys version
    • 0e08565 chore: increment worker-build version
    • fc9e825 Merge pull request #201 from Voltairine-de-Cleyre/patch-1
    • a3eaf04 Update README.md
    • 14c14fc Merge pull request #199 from cloudflare/zeb/export-secret-var
    • 9ef1dfb fix: export Var and Secret
    • eacdadd Merge pull request #198 from cloudflare/zeb/update-dependencies
    • e5f11e2 chore: update dependencies
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Build(deps): Bump regex from 1.5.4 to 1.5.6

    Build(deps): Bump regex from 1.5.4 to 1.5.6

    Bumps regex from 1.5.4 to 1.5.6.

    Changelog

    Sourced from regex's changelog.

    1.5.6 (2022-05-20)

    This release includes a few bug fixes, including a bug that produced incorrect matches when a non-greedy ? operator was used.

    1.5.5 (2022-03-08)

    This releases fixes a security bug in the regex compiler. This bug permits a vector for a denial-of-service attack in cases where the regex being compiled is untrusted. There are no known problems where the regex is itself trusted, including in cases of untrusted haystacks.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 0
Owner
Bram
Developer of @Color-Chan. Fluent in C#. I love to make discord bots. Working on way to many projects like always.
Bram
Basic chat example to demonstrate I/O and other rust features.

Basic chat Provides basic chat functions: create room send messages to room fetch room's messages Components STP - custom string transfer protocol lib

f3kilo 8 Jul 21, 2022
Barebones egui_baseview vst2 plugin with basic parameter control

egui_baseview_test_vst2 Based on baseview_test_vst2 Barebones baseview/egui_baseview vst2 plugin. It implements an egui ui for the vst gain effect exa

null 16 Dec 18, 2022
Barebones imgui_baseview vst2 plugin with basic parameter control

imgui_baseview_test_vst2 Based on baseview_test_vst2 Barebones baseview/imgui_baseview vst2 plugin. It implements a imgui-rs ui for the vst gain effec

null 3 Nov 16, 2021
Conway Game of Life plus WebAssembly and basic HTTP Server

Conway Game of Life plus WebAssembly and basic HTTP Server How to run First, you have to choose what server do you want to use for hosting the wasm ga

Lambdaclass 8 Sep 6, 2022
Grow Rust is a Growtopia Private Server made in Rust

Grow Rust is a Growtopia Private Server made in Rust

null 14 Dec 7, 2022
Send files over TCP. Quick and simple. Made in Rust.

SFT Multithreaded utility to send files over TCP. The sender writes a header containing the filename, and then the contents of the file, buffered, to

Orel 0 Dec 24, 2021
Multithreaded Web Server Made with Rust

Multithreaded Web Server Made with Rust The server listens for TCP connections at address 127.0.0.1:7878. Several pages can be accessed: 127.0.0.1:787

null 2 May 28, 2022
An implementation of the classic arcade game Whac-A-Hole inside Discord, made in 12 hours, with no experience in Rust.

Whac-A-Hole A blazingly fast implementation of the classic arcade game What-A-Hole inside Discord, made in 12 hours, with no experience in Rust ( ?? ?

Face 6 Mar 20, 2023
A halloween-themed game made in Rust 🦀

Robo Halloween ?? ?? ?? Top 3 pumpkin smashers ?? ?? ?? poteresting - 80 ?? ?? ArinaSolovjova - 69 ?? ?? poteresting - 61 ?? Get your name on this boa

Poteresting 4 Jun 7, 2023
Multiplex server for rust-analyzer, allows multiple LSP clients (editor windows) to share a single rust-analyzer instance per cargo workspace

ra-multiplex   Multiplex server for rust-analyzer, allows multiple LSP clients (editor windows) to share a single rust-analyzer instance per cargo wor

max 95 Dec 29, 2022
DNS Server written in Rust for fun, see https://dev.to/xfbs/writing-a-dns-server-in-rust-1gpn

DNS Fun Ever wondered how you can write a DNS server in Rust? No? Well, too bad, I'm telling you anyways. But don't worry, this is going to be a fun o

Patrick Elsen 26 Jan 13, 2023
Rust crate for configurable parallel web crawling, designed to crawl for content

url-crawler A configurable parallel web crawler, designed to crawl a website for content. Changelog Docs.rs Example extern crate url_crawler; use std:

Pop!_OS 56 Aug 22, 2021
Rust crate for scraping URLs from HTML pages

url-scraper Rust crate for scraping URLs from HTML pages. Example extern crate url_scraper; use url_scraper::UrlScraper; fn main() { let director

Pop!_OS 35 Aug 18, 2022
FTP client for Rust

rust-ftp FTP client for Rust Documentation rust-ftp Installation Usage License Contribution Development environment Installation FTPS support is achie

Matt McCoy 155 Nov 12, 2022
The gRPC library for Rust built on C Core library and futures

gRPC-rs gRPC-rs is a Rust wrapper of gRPC Core. gRPC is a high performance, open source universal RPC framework that puts mobile and HTTP/2 first. Sta

TiKV Project 1.6k Jan 7, 2023
A library to work with CIDRs in rust

ipnetwork This is a library to work with IPv4 and IPv6 CIDRs in Rust Run Clippy by doing rustup component add clippy cargo clippy Installation This c

Abhishek Chanda 98 Dec 12, 2022
Network simulation in Rust

netsim - A Rust library for network simulation and testing (currently linux-only). netsim is a crate for simulating networks for the sake of testing n

Andrew Cann 115 Dec 15, 2022
Cross-platform, low level networking using the Rust programming language.

libpnet Linux ∪ OS X Build Status: Windows Build Status: Discussion and support: #libpnet on freenode / #rust-networking on irc.mozilla.org / #rust on

null 1.8k Jan 6, 2023
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

Tokio A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. It is: Fast: Tokio's zero-cost abstracti

Tokio 18.7k Dec 30, 2022