relrelb
ea665d91f2
core: Introduce and use `Response::url`
2022-05-07 09:06:53 -07:00
relrelb
2517d8de4b
core: Introduce struct `Response`
...
Currently it's a trivial wrapper around `Vec<u8>`, but more fields
will be added in the future (e.g. response URL, HTTP status code).
2022-05-07 09:06:53 -07:00
relrelb
66492441f1
desktop: De-duplicate file reading code
...
Unify the sandboxed and non-sandboxed cases.
2022-04-08 16:51:59 -07:00
David Wendt
c664f0b9ba
desktop: Add a `sandbox` feature that opens a native file picker to request access to movie subresources.
...
We notify the user with a message box first to explain why we need them to pick a file.
2022-03-30 11:37:25 -07:00
relrelb
ad944800be
core: Perfer `Loader`'s `FetchError`
...
`NetworkError` and `NetworkUnavailable` were rarely used, and they
were very similar to `FetchError`.
2022-03-17 20:31:59 -07:00
relrelb
8a17d88c77
core: Remove `NavigatorBackend::time_since_launch`
...
`core` already depends on the `instant` crate which abstracts
`std::instant::Instant` and polyfills it on Web. Use it to replace
`NavigatorBackend::time_since_launch` in order to make `NavigatorBackend`
a little smaller and more simple.
2022-03-17 00:08:44 +02:00
Tal Hayon
4625ca0e0b
web: fix base param
2021-09-07 16:45:35 -07:00
Mike Welsh
ba7fd1b2b9
chore: Appease clippy, bump url
...
Bump url and avoid `Url::into_string` deprecation warnings.
Fix `single_char_pattern` clippy lints.
2021-05-07 20:51:26 -07:00
EmperorBale
1020aa84d6
chore: Simplify response.status() formatting
2021-04-06 16:01:34 -06:00
EmperorBale
e36ad2874b
chore: Make error message more helpful
2021-04-06 16:01:34 -06:00
EmperorBale
51e2ebf492
web/desktop: Check the HTTP status of requests
2021-04-06 16:01:34 -06:00
Mike Welsh
e5fb1f09e7
chore: Appease clippy
...
* #[derive(Collect)] should be before #[collect]
* Replace redunant `&buf[..]` with `buf`
* Changes most cases of UPPERCase to UpperCase
* Allow upper_case_acronym on most SWF types, as they are from
SWF spec/more annoying to change.
2021-02-12 06:32:42 -08:00
Mike Welsh
16bd7fade6
web: Use case-insensitive check for detecting javascript scheme
2021-02-08 03:41:16 -08:00
crumblingstatue
5f25fe8807
desktop: Don't unwrap url to file path conversion
...
It might not succeed.
This unwrap crashes the newgrounds Meat Boy flash on desktop.
Instead, use unwrap_or_default with an empty path. This will cause
the read to fail, but it's better than crashing the whole program.
2021-02-04 15:08:56 -08:00
Toad06
7480e836ec
web: Changes from review
2021-01-11 13:16:00 -08:00
dependabot-preview[bot]
54367aafa0
build(deps): bump isahc from 0.9.14 to 1.0.2
...
Bumps [isahc](https://github.com/sagebind/isahc ) from 0.9.14 to 1.0.2.
- [Release notes](https://github.com/sagebind/isahc/releases )
- [Commits](https://github.com/sagebind/isahc/compare/0.9.14...1.0.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-03 00:26:19 -08:00
Mike Welsh
94cb6e1680
desktop: Avoid panic on fetching invalid URLs
2020-12-31 16:36:02 -08:00
Sam Morrow
c4d7b24629
web: Fix cors issues with http (close ruffle-rs#1486)
2020-12-14 05:51:28 -08:00
Colin Berry
5a93c7ffa0
desktop: Follow Redirects
2020-10-20 23:31:23 -07:00
Colin Berry
67d9b91448
desktop: Make Proxy behave during initial load
2020-10-20 23:31:23 -07:00
Colin Berry
c51a31fde8
desktop: Support URL paths and Proxy options
2020-10-20 23:31:23 -07:00
Nathan Adams
cb2461920b
core: HTTP request values need to preserve order
2020-08-28 11:53:32 -07:00
David Wendt
c926da8888
Refactor URL relativization into two utility methods that backends can provide base URLs and paths to.
2020-07-23 23:02:54 -04:00
David Wendt
7433bfe28f
Add a `NavigatorBackend` method to resolve relative URLs.
2020-07-23 23:02:53 -04:00
Nathan Adams
59ccd75518
core: Rename loader::LoaderError to loader::Error
2020-06-20 15:02:00 -07:00
Nathan Adams
0f1eef9022
core: Introduce LoaderError to all Loader methods
2020-06-20 15:02:00 -07:00
Nathan Adams
5662b2d4d9
core: Make Value::coerce_to_string return a Cow<str>`
2020-06-19 12:48:28 -07:00
Nathan Adams
f0445d94b8
render: Add wgpu-rs based renderer, used by desktop
2020-04-30 08:48:33 +02:00
Mike Welsh
650efad4b2
chore: Fix new clippy lints for Rust 1.43
2020-04-24 21:39:49 -07:00
Mike Welsh
0c0d3dfd41
core: Add Navigator::time_since_launch to use for getTimer
...
Change `ActionGetTime` (`getTimer`) to use a new backend method.
This allows it to return updated times if it is called multiple
times in a single frame. This fixes hangs caused by games that use
busy-loop "frame limiter" code.
2020-03-28 22:28:07 -07:00
Mike Welsh
5315d059b9
desktop: Fetch from local filesystem for now
2020-02-24 01:49:28 -08:00
David Wendt
88b10f21c4
Implement an async executor for desktop so that these methods don't immediately panic.
2020-02-22 00:02:46 -05:00
David Wendt
33d26b9149
Shorten `Pin<Box<dyn Future<Output=Result<T,E>> + 'static>>` into `OwnedFuture<T,E>`.
...
This is technically stricter on `fetch` impls, but right now we can't support non-`'static` futures at all.
2020-02-22 00:02:45 -05:00
David Wendt
c7539872f7
Add the ability to POST data from `fetch`, and allow methods that read AVM locals into form data to `GET` or `POST` them.
2020-02-21 23:58:00 -05:00
David Wendt
f4e4171ebe
Make spawned futures falliable, and report those errors.
2020-02-21 23:57:56 -05:00
David Wendt
491d94c947
Pinbox all Futures.
...
Due to some strangeness with the way Rust implemented unsafe-to-move behavior, boxed futures are implicitly `Unpin`. Which is useless to us.
The reason for this is a little counter-intuitive. Actually, the fact that Rust supports memory pinning at all is a little odd, because the core language explicitly requires all types be movable. To get around this, Pin requires that all !Unpin types be *born pinned*. This is because you can't re-pin an already unpinned value in memory.
Anyway, this necessitates this silly API change.
2020-02-21 23:44:05 -05:00
David Wendt
00d25a768c
Extremely basic impl of fetch/spawn methods for getting data off the web
2020-02-21 23:44:05 -05:00
Mike Welsh
82c1116c42
chore: cargo fmt
2019-09-16 20:37:11 -07:00
David Wendt
4250015420
Add query support for desktop and resolve some TODOs
2019-09-16 20:04:30 -07:00
David Wendt
f00e938299
Clean up unused functionality in preparation of a PR.
2019-09-16 20:04:30 -07:00
David Wendt
65586cbcf5
Allow SWFs to open websites from the desktop
2019-09-16 20:04:30 -07:00