rhttp
Make HTTP requests using Rust for Flutter developers. It uses FFI to call Rust functions from Dart. On the Rust side, it uses reqwest to make HTTP requests.
0.18.0
5.1K downloads/mo
#3811 most downloaded on pub.dev
source
What this package is like to depend on
Last release 2 months ago
06 Jun 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 42 of 42 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
42 releases · first in 2024
6 releases in the last 12 months
see the full history below
Release timeline
42 releases · Aug 2024 to Jun 2026
2025
2026
Releases
latest 42-
0.18.006 Jun 2026Release notes
Open source →- feat: restore previous behavior of trusting root certificates from webpki-roots broken by 0.17.0
- deps: bump Rust dependencies to latest versions
- BREAKING:
trustRootCertificateschanged torootCertSource
-
0.17.019 May 2026Release notes
Open source →- deps: bump
reqwestto0.13.3(Might be breaking! See README for Android setup, no longer needed in 0.18.0) #105
- deps: bump
-
0.16.031 Mar 2026Release notes
Open source →- deps: bump
flutter_rust_bridgeto2.12.0 - deps: bump Rust dependencies to latest versions
- deps: bump
-
0.15.131 Jan 2026Release notes
Open source →- chore: migrate from GitHub to Codeberg: https://codeberg.org/Tienisto/rhttp
-
0.15.010 Dec 2025Release notes
Open source →- fix:
RhttpCompatibleClientshould combine header values with the same key using comma as perhttpspec (#95) - fix: crash on non-UTF8 headers (#92)
- deps: bump
freezedto^3.0.0 - deps: bump Rust dependencies to latest versions
- fix:
-
0.14.003 Oct 2025Release notes
Open source →- feat:
RhttpCompatibleClientsupportsAbortableadded inhttpv1.5.0 - feat: support Android 16 KB memory page alignment requirement @sabin26 (#89)
- feat: add
queryRawparameter @nrbnlulu (#86) - deps: bump Rust dependencies to latest versions
- feat:
-
0.13.011 Jul 2025Release notes
Open source →- feat: add
HttpResponse.remoteIpto get the remote IP address of the server - feat: set
forceSameCodegenVersion: falseto disable check byflutter_rust_bridge - deps: bump
flutter_rust_bridgeto2.11.1 - deps: bump Rust dependencies to latest versions
- docs: update Android example @FrankenApps (#78)
- feat: add
-
0.12.026 May 2025Release notes
Open source →- fix: Flutter 3.32 compatibility @MSOB7YY (#74)
- deps: bump
flutter_rust_bridgeto2.10.0
-
0.11.105 Apr 2025Release notes
Open source →- feat: add basic Cookie handling @FrankenApps (#67)
- feat: automatically install the pinned Rust version @linsui (#68)
- deps: loosen
freezed_annotationconstraint to>=2.4.4 <4.0.0
-
0.11.013 Mar 2025Release notes
Open source →- feat:
HttpMethodaccepts any string as method name @wgh136 (#57) - feat: add
ClientSettings.userAgent@FrankenApps (#63) - fix: race condition leading to
ConcurrentModificationErrorwhen using the sameCancelTokenfor multiple requests - docs: add internet permission to example app
- deps: bump
flutter_rust_bridgeto2.9.0
- feat:
-
0.10.016 Feb 2025Release notes
Open source →- feat: use
rustls-tls-webpki-rootsto avoid errors with corrupted system setting - feat: simplify
BaseHttpRequestandHttpRequestconstructor @FrankenApps (#52) - fix:
requestStreamnever return if cancelled immediately usingCancelToken@xalanq (#54) - deps: bump
flutter_rust_bridgeto2.7.1
- feat: use
-
0.9.814 Dec 2024 -
0.9.714 Dec 2024Release notes
Open source →- feat: add
TlsSettings.snito configure Server Name Indication for TLS (default:true) (#43) - deps: bump
flutter_rust_bridgeto2.7.0
- feat: add
-
0.9.605 Dec 2024Release notes
Open source →- fix: missing response body in DevTools when using Stream response
- fix: Stream not finishing when using
onReceiveProgress
-
0.9.505 Dec 2024Release notes
Open source →- feat: DevTools integration (Network Tab)
- feat:
HttpBody.jsonnow acceptsObject?instead ofMap<String, dynamic>to align with JSON spec
-
0.9.430 Nov 2024Release notes
Open source →- feat: allow specifying ports in
DnsSettings - fix: timeout exception when using
DnsSettings(#39) - fix: do not emit final
(-1, -1)progress event when content length is unknown
- feat: allow specifying ports in
-
0.9.324 Nov 2024Release notes
Open source →- feat:
onSendProgressshould infertotalalso fromContent-Lengthheader - feat: optimize compiled binary size @xalanq #40
- fix:
Unhandled ExceptionwhenHttpBody.streamorHttpBody.byteswithonSendProgressis canceled
- feat:
-
0.9.221 Nov 2024Release notes
Open source →- feat: add
--remap-path-prefix=$HOME/.cargo/=/.cargo/toRUSTFLAGSto be more reproducible - feat: respect channel in
rust-toolchain.toml - fix: support text body compressed in
gzipandbrotli - fix:
requestStreamshould throwRhttpCancelExceptioninstead of emitting anUnhandled Exceptionwhen request is canceled - deps: bump
flutter_rust_bridgeto2.6.0
- feat: add
-
0.9.104 Nov 2024Release notes
Open source →- feat: allow reuse of same
CancelTokenfor multiple requests, all requests are canceled when token is canceled
- feat: allow reuse of same
-
0.9.002 Nov 2024Release notes
Open source →- feat: add
ProxySettings.proxy('http://localhost:8080')and other proxy settings - feat: improve performance when uploading a byte stream
- feat: improve performance when tracking progress during download of a large binary file
- feat:
onSendProgressandonReceiveProgressnow always emit the final progress event (100%) - fix: set
idleTimeoutinIoCompatibleClientno longer throws an exception
- feat: add
-
0.8.231 Oct 2024Release notes
Open source →- fix: possible
CloseStreamExceptionwhen usingIoCompatibleClient - deps: bump
flutter_rust_bridgeto2.5.1
- fix: possible
-
0.8.121 Oct 2024 -
0.8.027 Sep 2024Release notes
Open source →- feat: add
IoCompatibleClient, a compatibility layer for dart:io'sHttpClient - feat: add
dnsSettingstoClientSettingsto provide custom DNS resolution - BREAKING:
timeoutandconnectTimeoutmoved toTimeoutSettings(deprecated in 0.7.2)
- feat: add
-
0.7.217 Sep 2024Release notes
Open source →- feat: add
keepAliveTimeout,keepAlivePingto newTimeoutSettings(@nicobritos) - DEPRECATED:
timeoutandconnectTimeoutmoved toTimeoutSettings
- feat: add
-
0.7.115 Sep 2024Release notes
Open source →- fix: export
RhttpInvalidCertificateException,RhttpConnectionException - deps: remove
plugin_platform_interfacedependency - deps: bump
flutter_rust_bridgeto2.4.0
- fix: export
-
0.7.028 Aug 2024Release notes
Open source →- fix: creating a second client might overwrite the first client due to memory address conflict
- BREAKING: change
RhttpInvalidClientExceptiontoRhttpClientDisposedException
-
0.6.228 Aug 2024Release notes
Open source →- feat: add
baseUrlsetting toClientSettings - feat: add
redirectSettingstoClientSettings - feat: add
RhttpRedirectException - feat:
RhttpCompatibleClient.closecancels all running requests similar toIOClientofhttppackage
- feat: add
-
0.6.123 Aug 2024Release notes
Open source →- feat: add
onSendProgressandonReceiveProgress - feat: increase performance of
HttpBody.stream - feat: always compile Rust in release mode
- feat: add
-
0.6.021 Aug 2024Release notes
Open source →- feat: add
HttpBody.streamto send a stream as request body - feat:
RhttpCompatibleClientsetsthrowOnStatusCodetofalseto conform withhttppackage
- feat: add
-
0.5.420 Aug 2024Release notes
Open source →- feat: wrap any exception in
RhttpCompatibleClientintoRhttpWrappedClientException
- feat: wrap any exception in
-
0.5.320 Aug 2024Release notes
Open source →- feat: add
RhttpConnectionExceptionto catch connection errors like no internet, server not reachable, etc. - feat: add
RhttpCompatibleClient.createSync - feat: add
cancelRunningRequestsparameter toRhttpClient.dispose - fix: creating a client with HTTP/3 fails with
no async runtime found
- feat: add
-
0.5.218 Aug 2024Release notes
Open source →- fix:
RetryInterceptorshould throwRhttpCancelExceptionif request is canceled during retry
- fix:
-
0.5.117 Aug 2024Release notes
Open source →- feat: add
RhttpClient.createSync - feat: add
HttpHeaders.copyWith,HttpHeaders.copyWithout - feat: add convenience method:
HttpTextResponse.bodyToJson - fix: reset parameters in
RetryInterceptor.shouldRetrybefore retrying
- feat: add
-
0.5.016 Aug 2024Release notes
Open source →- feat: interceptors (e.g.
RetryInterceptor) - feat: certificate pinning
- feat: client certificate / mutual TLS
- feat: add
ProxySettings - BREAKING:
requestGenericrenamed torequest,requestremoved
- feat: interceptors (e.g.
-
0.4.013 Aug 2024Release notes
Open source →- feat: add
RhttpCompatibleClientthat is compatible with the http package
- feat: add
-
0.3.212 Aug 2024 -
0.3.112 Aug 2024 -
0.3.007 Aug 2024Release notes
Open source →- feat: add
HttpBody.multipart - feat: change
TlsSettings.verifyCertstoTlsSettings.verifyCertificates
- feat: add
-
0.2.006 Aug 2024Release notes
Open source →- feat: add
RhttpStatusCodeException,RhttpInvalidCertificateException - feat: add
TlsSettings
- feat: add
-
0.1.006 Aug 2024Release notes
Open source →- feat: request body types
- feat: client for connection pooling / reuse
- feat: cancel requests
- feat: improve error handling with
RhttpException
-
0.0.202 Aug 2024 -
0.0.101 Aug 2024