Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider rewriting SK2 WebAPI into ASF's WebBrowser #1086

Closed
JustArchi opened this issue Feb 10, 2019 · 4 comments
Closed

Consider rewriting SK2 WebAPI into ASF's WebBrowser #1086

JustArchi opened this issue Feb 10, 2019 · 4 comments
Labels
☑️ Already possible Issues marked with this label are already possible to achieve with existing solutions. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 👎 Not going to happen Issues marked with this label are not going to be implemented into the program.

Comments

@JustArchi
Copy link
Member

JustArchi commented Feb 10, 2019

Mainly due to lack of strong-typing, with JSON deserialization I can ensure fixed and expected structure with all per-property logic, with SK2 I need to check everything on my own and ensure there are no anomalies.

I still need to decide whether this is worth the actual effort, since both approaches have their own pros and cons, but since I need to have working implementation for everything else already, there is little point in keeping yet another abstraction in form of SK2's WebAPI.

@JustArchi JustArchi added ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 👀 Evaluation Issues marked with this label are currently being evaluated if they're going to be considered. ⚪ No priority Issues marked with this label are not being actively worked on for time being. labels Feb 10, 2019
@JustArchi
Copy link
Member Author

@Abrynos what do you think? 🤔

@Abrynos
Copy link
Member

Abrynos commented Feb 10, 2019

Seems like a good idea to rewrite this. As they will probably become more I'd suggest moving the classes in ArchiSteamFarm/ArchiSteamFarm/Json/Steam.cs to seperate files as well

@JustArchi
Copy link
Member Author

I'm putting this on hold until we get a grasp on what is actually a correct approach in SteamRE/SteamKit#641

Steam's API is so crazy that it might actually make far more sense to depend on SK2 handling this madness rather than me adding yet another features to WebBrowser, this time for sending binary POST content.

@JustArchi JustArchi added ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. and removed ⚪ No priority Issues marked with this label are not being actively worked on for time being. labels Feb 11, 2019
@JustArchi JustArchi added ☑️ Already possible Issues marked with this label are already possible to achieve with existing solutions. 👎 Not going to happen Issues marked with this label are not going to be implemented into the program. and removed 👀 Evaluation Issues marked with this label are currently being evaluated if they're going to be considered. ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. labels May 26, 2019
@JustArchi
Copy link
Member Author

JustArchi commented May 26, 2019

After required fixes in the encoding logic, I find no reason anymore to go with this suggestion. Steam API has a lot of quirks that I wouldn't easily workaround without using SK2 (such as encoding in ISteamUserAuth), therefore I sacrifice response verification for encoding and handling low-level details for me.

Since I'm fan of abstraction levels and prefer to have SK2 in charge of talking with Steam API (instead of doing that myself), I'm keeping current approach due to no outstanding advantages, and at least several reasons against.

@lock lock bot locked as resolved and limited conversation to collaborators Jun 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
☑️ Already possible Issues marked with this label are already possible to achieve with existing solutions. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 👎 Not going to happen Issues marked with this label are not going to be implemented into the program.
Projects
None yet
Development

No branches or pull requests

2 participants