about summary refs log tree commit diff
path: root/LibMatrix.Federation/AuthenticatedFederationClient.cs
diff options
context:
space:
mode:
Diffstat (limited to 'LibMatrix.Federation/AuthenticatedFederationClient.cs')
-rw-r--r--LibMatrix.Federation/AuthenticatedFederationClient.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/LibMatrix.Federation/AuthenticatedFederationClient.cs b/LibMatrix.Federation/AuthenticatedFederationClient.cs
new file mode 100644

index 0000000..ee4bb25 --- /dev/null +++ b/LibMatrix.Federation/AuthenticatedFederationClient.cs
@@ -0,0 +1,24 @@ +using LibMatrix.Abstractions; +using LibMatrix.Federation.Extensions; +using LibMatrix.Homeservers; + +namespace LibMatrix.Federation; + +public class AuthenticatedFederationClient(string federationEndpoint, AuthenticatedFederationClient.AuthenticatedFederationConfiguration config, string? proxy = null) : FederationClient(federationEndpoint, proxy) { + + public class AuthenticatedFederationConfiguration { + public required VersionedHomeserverPrivateKey PrivateKey { get; set; } + public required string OriginServerName { get; set; } + } + + // public async Task<UserDeviceListResponse> GetUserDevicesAsync(string userId) { + // var response = await HttpClient.SendAsync(new XMatrixAuthorizationScheme.XMatrixRequestSignature() { + // OriginServerName = config.OriginServerName, + // DestinationServerName = userId.Split(':', 2)[1], + // Method = "GET", + // Uri = $"/_matrix/federation/v1/user/devices/{userId}", + // }.ToSignedHttpRequestMessage(config.PrivateKey)); + // return response; + // } + +} \ No newline at end of file