blob: b81b655d63c26f117a77f97037dc27593a658db1 (
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
|
using Microsoft.AspNetCore.Mvc;
namespace Rhea.Controllers;
[ApiController]
public class NarInfoController(RheaConfiguration cfg, StoreMetaService storeSvc) : ControllerBase
{
[HttpHead("/{hash}.narinfo")]
public async Task CheckNixNarExists(string hash)
{
var path = await storeSvc.GetStorePathByBaseName(hash);
Response.StatusCode = string.IsNullOrWhiteSpace(path) ? 404 : 200;
}
[HttpGet("/{hash}.narinfo")]
public async Task<string> GetNixNarInfo(string hash)
{
var path = await storeSvc.GetStorePathByBaseName(hash);
return $"""
StorePath: {cfg.StorePath}/{path}
URL: nar/09d83cyl9dlfkkbspkgkk7bfydj3mvw6r1x98kvc2v8wl2xd8ldy.nar.zst
Compression: zstd
FileHash: sha256:0yzqbk88qqh0c7dswwcm27y1pxs5a83hga81vjmcs9d331psv1g8
FileSize: 48255244
NarHash: sha256:09d83cyl9dlfkkbspkgkk7bfydj3mvw6r1x98kvc2v8wl2xd8ldy
NarSize: 209581048
Sig: cache.nixos.org-1:sRYhPUkDDRCgZDlgPMvXYEgYvX3GF24wT0v6HOUrtB/4g5lZffgRksiSmsth2wKRPlMijKP/yoDkG4NZDJfJCA==
CA: fixed:r:sha256:09d83cyl9dlfkkbspkgkk7bfydj3mvw6r1x98kvc2v8wl2xd8ldy
""";
}
}
|