summaryrefslogtreecommitdiffstats
path: root/BlobBin/Program.cs
blob: 085bd6e119da9d29eed427063ca07bb03f7a4f33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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; }
}