summaryrefslogtreecommitdiffstats
path: root/BlobBin/Program.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-01-09 00:05:38 +0100
committerivarlovlie <git@ivarlovlie.no>2023-01-09 00:05:38 +0100
commit9d7152b5ca085c70e9b0d94adb6f5f9ff8d6f127 (patch)
treeb1b7453c97a83c45b6911148ce36050be7dbefc3 /BlobBin/Program.cs
downloadblob-bin-9d7152b5ca085c70e9b0d94adb6f5f9ff8d6f127.tar.xz
blob-bin-9d7152b5ca085c70e9b0d94adb6f5f9ff8d6f127.zip
feat: init
Diffstat (limited to 'BlobBin/Program.cs')
-rw-r--r--BlobBin/Program.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/BlobBin/Program.cs b/BlobBin/Program.cs
new file mode 100644
index 0000000..085bd6e
--- /dev/null
+++ b/BlobBin/Program.cs
@@ -0,0 +1,46 @@
+var builder = WebApplication.CreateBuilder(args);
+
+var app = builder.Build();
+
+app.UseFileServer();
+app.UseStatusCodePages();
+app.MapPost("/upload", Upload);
+app.MapPost("/text", UploadText);
+app.MapGet("/b/{id}", GetBlob);
+app.Run();
+
+IResult Upload(HttpContext context) {
+ var request = new UploadRequest() {
+ Singleton = context.Request.Form["singleton"] == "on",
+ File = context.Request.Form.Files.FirstOrDefault(),
+ Password = context.Request.Form["password"],
+ AutoDeleteAfter = context.Request.Form["autoDeleteAfter"]
+ };
+ return Results.Ok();
+}
+
+IResult UploadText(PasteRequest request) {
+ return Results.Ok();
+}
+
+IResult GetBlob(string id) {
+ return Results.Ok();
+}
+
+class BlobBase
+{
+ public string Password { get; set; }
+ public bool Singleton { get; set; }
+ public string AutoDeleteAfter { get; set; }
+}
+
+class PasteRequest : BlobBase
+{
+ public string Text { get; set; }
+ public string Mime { get; set; }
+}
+
+class UploadRequest : BlobBase
+{
+ public IFormFile? File { get; set; }
+} \ No newline at end of file