Roderick van Domburg
10650712a7
Add mobile client IDs and improve hash cash logic
2022-08-26 22:29:00 +02:00
Roderick van Domburg
111c7781d2
Use actual OS and kernel versions
2022-08-26 21:14:43 +02:00
Roderick van Domburg
65e48864a5
Fix tracing of client token
2022-08-26 02:15:13 +02:00
Roderick van Domburg
7b19d4c1dd
Solve hash cash challenges (experimental)
2022-08-26 01:51:00 +02:00
Roderick van Domburg
42a665fb0d
Revert most of cdf84925ad
2022-08-25 21:01:39 +02:00
Roderick van Domburg
dbf71c0dff
Move mostly harmless messages to debug level
2022-08-25 20:49:40 +02:00
Roderick van Domburg
9d80521e09
Fix warning and clippy lints
2022-08-22 22:38:19 +02:00
Daniel M
b588d9fd07
Keep using the same hyper client
...
- Keep using the same hyper client instead of building a new one for
each request
- This allows the client to reuse connections and improves the
performance of multiple requests by almost 2x.
- The playlist_tracks example takes 38 secs before and 20 secs after the
change to enumerate a 180 track playlist
- To avoid carrying the hyper Client generics through the whole project,
`ProxyConnector` is always used as the Connector, but disabled when
not using a proxy.
- The client creation is done lazily to keep the `HttpClient::new`
without a `Result` return type
2022-08-04 18:37:32 +02:00
Daniel M
f55bdbb962
Fix SpClient::get_playlist
endpoint generation
2022-08-04 00:09:30 +02:00
Roderick van Domburg
d88a20929f
Playlist ID should be Base62 encoded
2022-08-03 23:21:38 +02:00
Roderick van Domburg
80f0d3c59b
Pass by reference
2022-08-03 22:26:52 +02:00
Roderick van Domburg
70eb3f9d72
Add more HTTP endpoints and migrate playlist
2022-08-03 21:27:07 +02:00
Roderick van Domburg
922e927231
Merge pull request #1039 from roderickvd/rust-2021-edition
...
Migrate to Rust 2021
2022-08-03 20:04:31 +02:00
dnlmlr
131310b920
Fix panic in ApResolver::resolve
( #1038 )
...
- Fixed resolve function panicking when resolving endpoint type with no
AP in the list
- Fixed fallback APs not being applied when only some of the AP types
were missing
- Switch container type from `Vec` to `VecDeque` for the `AccessPoints`
- Remove the note about fallback AP being used even if the port is not
matching the configured `ap_port`
2022-08-03 20:01:03 +02:00
Roderick van Domburg
cdf84925ad
Add client-token
header to spclient
requests
...
- Also fix an overflow panic when a token cannot be parsed.
- Getting tokens always requires the keymaster client ID;
passing the actual client ID yields a HashCash challenge.
2022-08-02 23:06:02 +02:00
Roderick van Domburg
2a79af1f0a
Migrate to Rust 2021
2022-08-02 21:42:38 +02:00
Roderick van Domburg
5344258ba9
Relax some non-fatal events to WARN level
...
Fixes #1029
2022-07-30 22:39:05 +02:00
eladyn
88f7cdbb44
Fix playlist metadata fields parsing ( #1019 )
...
Some fields were wrongly parsed as `SpotifyId`s, although they do not
always encode exactly 16 bytes in practice. Also, some optional fields
caused `[]` to be parsed as `SpotifyId`, which obviously failed as well.
2022-07-28 18:46:16 +02:00
Roderick van Domburg
05b9b13cf8
Merge branch 'dev' into new-api and update crates
2022-07-27 23:31:11 +02:00
JasonLG1979
c03d3ad102
Bump deps
...
This bumps deps that don't need major code refactoring or MSRV bumps.
2022-05-23 10:19:54 -05:00
Louis Seubert
6c2491b9a3
adding callback for reusable credentials ( #983 )
...
This allows more control over how the credentials are saved to the cache
2022-05-20 12:53:44 +02:00
JasonLG1979
d887d58251
Fix clippy warnings
2022-03-20 10:52:08 -05:00
JasonLG1979
30c960a6cd
Silence compiler warning
...
The `split` variable in `split_uri` should not be `mut`.
2022-02-23 17:08:43 -06:00
Jason Gray
47f1362453
Port remove unsafe code and catch up with dev ( #956 )
2022-02-14 12:15:19 +01:00
Roderick van Domburg
cb1cfddb74
Send platform-dependent client token request
2022-01-26 22:53:30 +01:00
Roderick van Domburg
31c682453b
Prevent man-in-the-middle attacks
2022-01-25 22:48:27 +01:00
Roderick van Domburg
44860f4738
Remove assertions for what we know works well
2022-01-25 20:58:39 +01:00
Roderick van Domburg
3f95a45b27
Parse dates without month or day ( fixes #943 )
2022-01-25 20:03:35 +01:00
SuisChan
8498ad8078
Update connectivity.proto
2022-01-24 12:52:15 +01:00
Jason Gray
ceebb374f0
Remove unsafe code ( #940 )
...
Remove unsafe code
2022-01-23 19:02:04 +01:00
Roderick van Domburg
4ea1b77c7b
Fix client-token
and implement expiry logic
2022-01-23 00:26:52 +01:00
Roderick van Domburg
1528292583
Retrieve client token (not working)
2022-01-22 23:17:10 +01:00
Roderick van Domburg
0630586cd6
Ensure a client ID is present
2022-01-22 21:27:56 +01:00
Roderick van Domburg
0822af0328
Use configured client ID on initial connection ( fixes #941 )
2022-01-22 21:17:55 +01:00
Roderick van Domburg
8851951f04
Change counting to spirc
and player
...
They can be reinstantiated, unlike the `session` which is now
intended to be constructed once.
2022-01-16 21:29:59 +01:00
Roderick van Domburg
abbc3bade8
Register message listeners before connecting
2022-01-16 01:14:00 +01:00
Roderick van Domburg
dbeeb0f991
Switch from chrono
to time
2022-01-14 23:28:09 +01:00
Roderick van Domburg
32df4a401d
Add configurable client ID and listen for updates
2022-01-12 22:09:57 +01:00
Roderick van Domburg
fbff879f3d
Update http
, once_cell
, vergen
2022-01-09 01:03:47 +01:00
Roderick van Domburg
56f3c39fc6
Update hmac
, pbkdf2
, serde
, serde_json
, sha-1
2022-01-09 00:25:47 +01:00
Roderick van Domburg
5a8bd5703c
Update tokio
and hyper-rustls
2022-01-08 23:28:46 +01:00
Roderick van Domburg
89a5133bd7
Upgrade aes-ctr
to latest aes
2022-01-08 20:51:51 +01:00
Roderick van Domburg
c1965198fc
Move DeviceType
to core
2022-01-06 09:48:11 +01:00
Roderick van Domburg
4ca1f661d5
Prevent deadlock
2022-01-06 09:43:50 +01:00
Roderick van Domburg
cc9a574b2e
Move ConnectConfig
to connect
2022-01-05 21:15:19 +01:00
Roderick van Domburg
1a7c440bd7
Improve lock ordering and contention
2022-01-05 20:44:08 +01:00
Roderick van Domburg
5c2b5a21c1
Fix audio file caching
2022-01-05 16:43:46 +01:00
Roderick van Domburg
2d699e288a
Follow autoplay client setting
2022-01-01 20:23:21 +01:00
Roderick van Domburg
2af34fc674
Add product metrics to requests
2021-12-30 22:36:38 +01:00
Roderick van Domburg
05c768f612
Add audio preview, image and head file support
2021-12-30 21:35:43 +01:00