From e1b5c5b1d2001f3560cb9a2edccd7c0216879aeb Mon Sep 17 00:00:00 2001 From: WeebDataHoarder <57538841+WeebDataHoarder@users.noreply.github.com> Date: Mon, 6 Jun 2022 23:48:34 +0200 Subject: [PATCH] Use new MakyuuIchaival, using Stream interface --- OrbitalBeat.go | 10 +++++++--- go.mod | 6 +++--- go.sum | 10 ++++++---- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/OrbitalBeat.go b/OrbitalBeat.go index f3553cd..c53978d 100644 --- a/OrbitalBeat.go +++ b/OrbitalBeat.go @@ -217,7 +217,12 @@ func handleQueryRequest(ctx httputils.RequestContext, identifier cid.Cid, extraA mh, _ := multihash.Decode(cacheEntry.Entry.Identifier.Hash()) - ctx.SetResponseHeader("Accept-Ranges", "bytes") + file, err := os.Open(cacheEntry.Entry.Path) + if err != nil { + ctx.SetResponseCode(http.StatusNotFound) + return + } + ctx.SetResponseHeader("X-Request-CID", identifier.String()) ctx.SetResponseHeader("ETag", fmt.Sprintf("\"%s\"", cacheEntry.Entry.Identifier.String())) if mh.Code == multihash.SHA2_256 { @@ -239,7 +244,7 @@ func handleQueryRequest(ctx httputils.RequestContext, identifier cid.Cid, extraA ctx.SetResponseHeader("Content-Type", mime) } - ctx.ServeFile(cacheEntry.Entry.Path) + ctx.ServeStream(httputils.NewStreamFromFile(file)) } func setOtherHeaders(ctx httputils.RequestContext) { @@ -450,7 +455,6 @@ func getEntriesForCID(identifier cid.Cid) []ContentEntry { } func main() { - //TODO: OCSP certificatePath := flag.String("certificate", "", "Path to SSL certificate file.") keypairPath := flag.String("keypair", "", "Path to SSL key file.") diff --git a/go.mod b/go.mod index f930c43..33d1464 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.gammaspectra.live/S.O.N.G/OrbitalBeat go 1.18 require ( - git.gammaspectra.live/S.O.N.G/MakyuuIchaival v0.0.0-20220604175317-0feb1f4f31ae + git.gammaspectra.live/S.O.N.G/MakyuuIchaival v0.0.0-20220606212530-4821aa05b5d6 github.com/cloudflare/circl v1.1.0 github.com/ipfs/go-cid v0.2.0 github.com/lib/pq v1.10.6 @@ -21,8 +21,8 @@ require ( github.com/lucas-clemente/quic-go v0.27.1 // indirect github.com/marten-seemann/qpack v0.2.1 // indirect github.com/marten-seemann/qtls-go1-16 v0.1.5 // indirect - github.com/marten-seemann/qtls-go1-17 v0.1.1 // indirect - github.com/marten-seemann/qtls-go1-18 v0.1.1 // indirect + github.com/marten-seemann/qtls-go1-17 v0.1.2 // indirect + github.com/marten-seemann/qtls-go1-18 v0.1.2 // indirect github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect github.com/minio/sha256-simd v1.0.0 // indirect github.com/mr-tron/base58 v1.2.0 // indirect diff --git a/go.sum b/go.sum index 2e46059..05d9cae 100644 --- a/go.sum +++ b/go.sum @@ -7,8 +7,8 @@ dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBr dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= -git.gammaspectra.live/S.O.N.G/MakyuuIchaival v0.0.0-20220604175317-0feb1f4f31ae h1:b+txwYGXmIyqtyCLgXNnZqpnakngKBGJPgFcqkhVOO8= -git.gammaspectra.live/S.O.N.G/MakyuuIchaival v0.0.0-20220604175317-0feb1f4f31ae/go.mod h1:7Ph6dqDRHnU6JR8idBqu7MJKu7Gs6vpMlo/sB4ziNdg= +git.gammaspectra.live/S.O.N.G/MakyuuIchaival v0.0.0-20220606212530-4821aa05b5d6 h1:eTAOxKCXiEsP8v47OL9S/OAPWHH1KjXSAgsUIPeim7U= +git.gammaspectra.live/S.O.N.G/MakyuuIchaival v0.0.0-20220606212530-4821aa05b5d6/go.mod h1:eWzPxHEC8uYNigoSqsjUOsML8cGScgwhVs5dY3HDinM= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= @@ -103,10 +103,12 @@ github.com/marten-seemann/qpack v0.2.1 h1:jvTsT/HpCn2UZJdP+UUB53FfUUgeOyG5K1ns0O github.com/marten-seemann/qpack v0.2.1/go.mod h1:F7Gl5L1jIgN1D11ucXefiuJS9UMVP2opoCp2jDKb7wc= github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ= github.com/marten-seemann/qtls-go1-16 v0.1.5/go.mod h1:gNpI2Ol+lRS3WwSOtIUUtRwZEQMXjYK+dQSBFbethAk= -github.com/marten-seemann/qtls-go1-17 v0.1.1 h1:DQjHPq+aOzUeh9/lixAGunn6rIOQyWChPSI4+hgW7jc= github.com/marten-seemann/qtls-go1-17 v0.1.1/go.mod h1:C2ekUKcDdz9SDWxec1N/MvcXBpaX9l3Nx67XaR84L5s= -github.com/marten-seemann/qtls-go1-18 v0.1.1 h1:qp7p7XXUFL7fpBvSS1sWD+uSqPvzNQK43DH+/qEkj0Y= +github.com/marten-seemann/qtls-go1-17 v0.1.2 h1:JADBlm0LYiVbuSySCHeY863dNkcpMmDR7s0bLKJeYlQ= +github.com/marten-seemann/qtls-go1-17 v0.1.2/go.mod h1:C2ekUKcDdz9SDWxec1N/MvcXBpaX9l3Nx67XaR84L5s= github.com/marten-seemann/qtls-go1-18 v0.1.1/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4= +github.com/marten-seemann/qtls-go1-18 v0.1.2 h1:JH6jmzbduz0ITVQ7ShevK10Av5+jBEKAHMntXmIV7kM= +github.com/marten-seemann/qtls-go1-18 v0.1.2/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=