1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-08-17 00:31:42 +02:00
Files
.github
.idea
bld
lib
TweetLib.Api
TweetLib.Browser
Base
Contexts
Events
Interfaces
Request
RequestHandleResult.cs
ResourceCache.cs
ResourceType.cs
SchemeResource.cs
Lib.cs
TweetLib.Browser.csproj
TweetLib.Browser.CEF
TweetLib.Communication
TweetLib.Core
TweetLib.Utils
TweetTest.Browser.CEF
TweetTest.Core
TweetTest.Utils
linux
resources
windows
.gitattributes
.gitignore
LICENSE.md
README.md
TweetDuck.sln
TweetDuck.sln.DotSettings
Version.cs
global.json

39 lines
902 B
C#

using System.Net;
using TweetLib.Browser.Interfaces;
namespace TweetLib.Browser.Request {
public abstract class SchemeResource {
private SchemeResource() {}
public abstract T Visit<T>(ISchemeResourceVisitor<T> visitor);
public sealed class Status : SchemeResource {
public HttpStatusCode Code { get; }
public string Message { get; }
public Status(HttpStatusCode code, string message) {
Code = code;
Message = message;
}
public override T Visit<T>(ISchemeResourceVisitor<T> visitor) {
return visitor.Status(this);
}
}
public sealed class File : SchemeResource {
public byte[] Contents { get; }
public string Extension { get; }
public File(byte[] contents, string extension) {
Contents = contents;
Extension = extension;
}
public override T Visit<T>(ISchemeResourceVisitor<T> visitor) {
return visitor.File(this);
}
}
}
}