...
1
9
10 package openapi
11
12 import (
13 "bytes"
14 "context"
15 "errors"
16 "io"
17 "net/http"
18 "os"
19 "path"
20
21 "go.formulabun.club/srb2kart/lump/replay"
22 )
23
24
25
26
27 type DefaultApiService struct {
28 }
29
30
31 func NewDefaultApiService() DefaultApiServicer {
32 return &DefaultApiService{}
33 }
34
35
36 func (s *DefaultApiService) ReplayIdGet(ctx context.Context, id string) (ImplResponse, error) {
37 filePath := path.Join("/data", id)
38 file, err := os.Open(filePath)
39 if err != nil {
40 return Response(http.StatusNotFound, nil, "temp.lmp"), err
41 }
42
43 replay, err := replay.ReadReplay(file)
44 if err != nil {
45 return Response(http.StatusInternalServerError, nil, ""), err
46 }
47 fileName := replay.GetGuestFileName()
48
49 var headerBuffer bytes.Buffer
50 err = replay.Write(&headerBuffer)
51 if err != nil {
52 return Response(http.StatusInternalServerError, nil, ""), err
53 }
54
55 fileData := io.MultiReader(&headerBuffer, file)
56 return Response(http.StatusOK, fileData, fileName), err
57 }
58
59
60 func (s *DefaultApiService) StaffGet(ctx context.Context, ids []string) (ImplResponse, error) {
61
62
63
64
65
66
67
68
69
70
71
72
73 return Response(http.StatusNotImplemented, nil, ""), errors.New("StaffGet method not implemented")
74 }
75
View as plain text