SteamRE / SteamKit

SteamKit2 is a .NET library designed to interoperate with Valve's Steam network. It aims to provide a simple, yet extensible, interface to perform various actions on the network.
GNU Lesser General Public License v2.1
2.61k stars 497 forks source link

Allow UnifiedMessages to be transported over webapi #1438

Open xPaw opened 1 month ago

xPaw commented 1 month ago

The point of unified messages is that they can work both over CM and webapi, and Steam does this have implementing underlying "service transport"

We have WebAPI method that does Task<T> CallProtobufAsync<T> where you have to manually provide the request and response types.

We can make this nicer (after #1433), that the calling could would be similar, but the request would be sent over http instead of cm.

SK uses it here for example: https://github.com/SteamRE/SteamKit/blob/0931a597133f4850f0d466709a9605f115c27117/SteamKit2/SteamKit2/Steam/WebAPI/ContentServerDirectoryService.cs#L77