123456789101112131415161718192021222324252627282930313233 |
- package clashapi
- import (
- "context"
- "net/http"
- "github.com/sagernet/sing-box/adapter"
- "github.com/sagernet/sing/service"
- "github.com/go-chi/chi/v5"
- "github.com/go-chi/render"
- )
- func cacheRouter(ctx context.Context) http.Handler {
- r := chi.NewRouter()
- r.Post("/fakeip/flush", flushFakeip(ctx))
- return r
- }
- func flushFakeip(ctx context.Context) func(w http.ResponseWriter, r *http.Request) {
- return func(w http.ResponseWriter, r *http.Request) {
- cacheFile := service.FromContext[adapter.CacheFile](ctx)
- if cacheFile != nil {
- err := cacheFile.FakeIPReset()
- if err != nil {
- render.Status(r, http.StatusInternalServerError)
- render.JSON(w, r, newError(err.Error()))
- return
- }
- }
- render.NoContent(w, r)
- }
- }
|