Commit Graph

78 Commits

Author SHA1 Message Date
Sebastian Göls
dbf7148fbe Happy new year! (#3121)
Co-authored-by: Sebastian Göls <sebastian.goels@salvagninigroup.com>
2024-01-08 11:33:28 +01:00
Archi
6e7041d8c5 Fix possible unhandled exception crash
We should throw ONLY when caller asked us to cancel, not when httpclient's timeout is reached.

Thanks @nolddor
2023-12-14 21:07:48 +01:00
Archi
40ab1d848c .NET 8 code enhancements 2023-12-11 23:55:13 +01:00
Łukasz Domeradzki
36ae066c65 Closes #3073 (#3077)
* Initial implementation of announce with diff

* Add missing logic pieces

* Change in logic

* Fix checksums

* Add deduplication logic

* Update SetPart.cs

* Use standalone endpoint for diff

* Use different hashcode impl

* Update AssetForListing.cs

* Misc

* Push all the changes for this to finally work

* Use original index rather than self-calculated

ASFB makes some calculations based on index, it's better for us to have holes rather than hiding skipped items.

* Handle edge case of no assets after deduplication

* Remove dead code

* Address trim warnings

* Misc optimization
2023-11-29 00:08:16 +01:00
Archi
103c543eea Closes #3067 2023-11-14 20:58:02 +01:00
Archi
f2ff2f4929 Closes #3060 2023-11-14 20:01:29 +01:00
Łukasz Domeradzki
b34f18497d .NET 8 (#3005)
* Initial .NET 8

* Make it compile in release mode ignoring warnings for now

* First round of improvements

* Second round of improvements

* Third round of improvements

* Use new throws

* Fix .NET Framework, YAY, thanks madness!

Madness devs are awesome

* Misc

* Misc

* AF_NETLINK might be required for some http calls

No clue why

* Fix service files

Doesn't do what it should

* Update CardsFarmer.cs

* New improvements

* Address feedback

* Misc

* Misc

* Misc refactor

* Misc
2023-11-14 19:12:33 +01:00
Leet
17796c3466 Use gender neutral language (#3057) 2023-10-31 18:21:34 +01:00
Archi
c84366f9ba Misc syntax improvements 2023-08-10 21:36:17 +02:00
Archi
d2894a8bdc Followup fix 2023-03-15 17:56:24 +01:00
Archi
63c206e6c7 Disable revocation check
Likely root cause for https://steamcommunity.com/groups/archiasf/discussions/1/3821906444724042697/
2023-03-15 16:06:53 +01:00
Archi
8008a04354 Code cleanups and improvements
- Make use of new UnixFileMode, always one native method we need to maintain less
- Add madness support for it, because new feature of course
- Add optional netstandard target and required compatibility for it, so I can test netf-oriented changes easier
2023-02-09 02:25:11 +01:00
Archi
9f272ae490 Misc 2023-02-03 03:00:42 +01:00
Archi
e266b8ad31 Actually, this makes more sense 2023-02-03 02:32:17 +01:00
Archi
a8b28efe43 ASFB HttpClientHandler improvements
We should increase our security by checking against revoked SSL certificates, just in case.

When using proxy, pre-authenticating makes sense since if user provided the credentials, we can be pretty sure they're required and save a roundtrip.
2023-02-03 02:29:55 +01:00
Archi
17d9c9bc22 Prefer maximum compression on compressed requests
We have many clients and a single server, pushing additional work at the clients will typically degrade the effective speed with which the data can be transmitted, but will allow our server to handle more requests concurrently due to less bandwidth used, and will positively affect the bandwidth used for both server and the client.
2023-01-31 22:19:41 +01:00
Sebastian Göls
0c125db118 Happy new year! (#2809) 2023-01-25 15:43:12 +01:00
Archi
f3593de457 Misc 2023-01-15 22:31:51 +01:00
Archi
d68b900055 Move http client compression to utilities
We don't really need standalone class, contrary to my first expectation
2023-01-15 21:46:58 +01:00
Łukasz Domeradzki
ca9cccf5da Add support for request compression (#2805)
* Add support for brotli request compression

* Refactor and add support for netf

* Use fastest compression
2023-01-15 21:26:03 +01:00
Archi
4f5dfce269 Fix ExtendedTimeout
If user sets connection timeout to a very low value, such as 10, then even another 10 multiplier might not be enough, we use extended timeout only in very specific cases such as ASF update or ASF STM listing, and we must disregard user preference when dealing with those.
2022-12-23 19:33:38 +01:00
Archi
fc20b6cfc4 Final Rider inspections 2022-12-15 19:23:46 +01:00
Archi
13480a44ff Add AcceptLanguage header by default
Won't hurt and may help with content that isn't explicitly defined (like ?l=)
2022-11-23 12:07:23 +01:00
Sebastian Göls
55771915b9 Fix typo (#2744) 2022-11-17 13:40:28 +01:00
JustArchi
019893ee43 Rewrite WebBrowser errors logic, again
Maybe THIS TIME after 7 years it'll finally do what I need from it.

TL;DR, if anybody is insane enough to return client/server errors, and expects HtmlDocument or other Object to actually be null, it must be explicitly specified now with allow, to work like 200-OK, where we return only stuff that actually parses
2022-08-25 20:23:37 +02:00
JustArchi
f3229fa45f Implement AngleSharp.XPath breaking changes
Bump of B warranted, more in the release notes
2022-08-06 18:51:32 +02:00
JustArchi
d590a30f20 Do not retry on empty HTTP content
This is totally valid for handling errors, and 200 OK responses should always carry one (even if empty)
2022-06-19 21:42:22 +02:00
JustArchi
772607b680 Use recommended async dispose pattern
Funny enough, non-breaking API changes since all of those classes are sealed.
2022-06-19 18:24:52 +02:00
JustArchi
2ec764f8ec Rewrite WebBrowser errors handling 2022-06-06 23:28:35 +02:00
Sebastian Göls
dae3e93031 Make use of "or" keyword in switch statements (#2598) 2022-06-05 15:59:34 +02:00
renovate[bot]
dad19956aa Update dependency AngleSharp.XPath to v2 (#2595)
* Update dependency AngleSharp.XPath to v2

* Update GitHub.cs

* netf fixes

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: JustArchi <JustArchi@JustArchi.net>
2022-06-04 11:56:36 +02:00
Łukasz Domeradzki
715ed034df Unify WebBrowser API in regards to nullable bodies (#2593)
* Unify logic for nullable bodies

* Update ArchiWebHandler.cs

* Misc
2022-06-01 21:13:40 +02:00
JustArchi
6178b12bb1 Fix invalid STD retry on 429 without json body
It's getting more and more complicated... We have places where we accept errors but still want relevant JSON body (most of the Steam error-places), and now we also have a place where we expected error to not carry one. Moreover, we still want to account for invalid JSON body on 2xx and retry on them.

So let's make the code even more complicated than it already is by adding yet another endpoint that does exactly the same what the other endpoint does BUT allows us us to optionally accept null/invalid body on success/errors/both, lol. I hate myself.

Maybe we can obsolete the first endpoint eventually and stick with just the second?
2022-05-28 20:41:52 +02:00
Sebastian Göls
68e30b43c2 Use ArgumentNullException.ThrowIfNull when possible (#2591)
* Misc.

* Fix mistake
2022-05-26 13:29:12 +02:00
JustArchi
0261623ea9 Expose FinalUri in BasicResponse for plugins usage 2022-05-24 12:25:43 +02:00
JustArchi
b5ca484c2b Add ReturnRedirections for plugins usage
This will allow caller to handle redirections manually
2022-05-24 12:13:54 +02:00
Sebastian Göls
b8bfcd5df3 Simplify LogNullError calls (#2554)
* Remove necessity of nameof(...) in calls to ArchiLogger.LogNullError(...)

* Upgrade Madness

* Upgrade Madness

* Split up compound null log statements
2022-04-13 23:16:36 +02:00
Archi
635afa7165 Update Madness 2022-04-02 16:41:48 +02:00
Archi
c79c314b20 Fix generic-netf
Again and again!
2022-04-02 16:08:41 +02:00
Archi
ec78ad1ac2 Add overflow-related fixes and improvements 2022-04-02 16:00:07 +02:00
Archi
cc83222c3e Use shorter syntax for json properties 2022-03-22 16:33:47 +01:00
Archi
1809028c77 Rider cleanup 2022-01-06 20:22:38 +01:00
Archi
640a794a3e Misc 2021-12-28 11:30:37 +01:00
Archi
81a92d6781 Misc 2021-12-20 18:27:54 +01:00
Archi
4f598d5c8f Latest Rider cleanups 2021-12-12 01:12:54 +01:00
Archi
d9a5c30659 Closes #2472 2021-12-09 18:24:00 +01:00
Archi
581d5167b9 Closes #2465 2021-12-07 21:34:46 +01:00
Archi
71089a4953 Remove functions marked as obsolete 2021-11-11 01:57:08 +01:00
Archi
d1fc7ebb74 Use C# 10 string interpolation wherever possible 2021-11-11 01:53:34 +01:00
Archi
258ad17930 Apply Rider inspections
Want to bet at least one will break netf?
2021-11-10 21:54:15 +01:00