Well known resolver work, synapse admin work
1 files changed, 5 insertions, 5 deletions
diff --git a/LibMatrix/MxcUri.cs b/LibMatrix/MxcUri.cs
index 02a8fa6..875ae53 100644
--- a/LibMatrix/MxcUri.cs
+++ b/LibMatrix/MxcUri.cs
@@ -3,9 +3,9 @@ using System.Diagnostics.CodeAnalysis;
namespace LibMatrix;
public class MxcUri {
- public required string ServerName;
- public required string MediaId;
-
+ public required string ServerName { get; set; }
+ public required string MediaId { get; set; }
+
public static MxcUri Parse([StringSyntax("Uri")] string mxcUri) {
if (!mxcUri.StartsWith("mxc://")) throw new ArgumentException("Matrix Content URIs must start with 'mxc://'", nameof(mxcUri));
var parts = mxcUri[6..].Split('/');
@@ -15,13 +15,13 @@ public class MxcUri {
MediaId = parts[1]
};
}
-
+
public static implicit operator MxcUri(string mxcUri) => Parse(mxcUri);
public static implicit operator string(MxcUri mxcUri) => $"mxc://{mxcUri.ServerName}/{mxcUri.MediaId}";
public static implicit operator (string, string)(MxcUri mxcUri) => (mxcUri.ServerName, mxcUri.MediaId);
public static implicit operator MxcUri((string serverName, string mediaId) mxcUri) => (mxcUri.serverName, mxcUri.mediaId);
// public override string ToString() => $"mxc://{ServerName}/{MediaId}";
-
+
public string ToDownloadUri(string? baseUrl = null, string? filename = null, int? timeout = null) {
var uri = $"{baseUrl}/_matrix/client/v1/media/download/{ServerName}/{MediaId}";
if (filename is not null) uri += $"/{filename}";
|