Pull request: 5190-clear-cache
Updates #4695. Updates #5190. Squashed commit of the following: commit f4156f54ebd1b0c96318715441da1dc54cbbfb0f Author: Ildar Kamalov <ik@adguard.com> Date: Fri Dec 2 16:19:03 2022 +0300 client: button styles commit 42cd8ac8ac1abb5c43a42065e2374d11f2d9a62b Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Fri Dec 2 15:39:15 2022 +0300 all: upd dnsproxy commit 87b04391afeaed28523448aa12a317300e718b72 Author: Ildar Kamalov <ik@adguard.com> Date: Fri Dec 2 15:19:07 2022 +0300 client: add clear cache button commit ee99548b3689ce47959d9bddc6a1e866e773dcc3 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Thu Dec 1 18:54:54 2022 +0300 all: add cache clear
This commit is contained in:
@@ -3,6 +3,7 @@ package dnsforward
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/netip"
|
||||
@@ -669,6 +670,12 @@ func (s *Server) handleTestUpstreamDNS(w http.ResponseWriter, r *http.Request) {
|
||||
_ = aghhttp.WriteJSONResponse(w, r, result)
|
||||
}
|
||||
|
||||
// handleCacheClear is the handler for the POST /control/cache_clear HTTP API.
|
||||
func (s *Server) handleCacheClear(w http.ResponseWriter, _ *http.Request) {
|
||||
s.dnsProxy.ClearCache()
|
||||
_, _ = io.WriteString(w, "OK")
|
||||
}
|
||||
|
||||
// handleDoH is the DNS-over-HTTPs handler.
|
||||
//
|
||||
// Control flow:
|
||||
@@ -703,6 +710,8 @@ func (s *Server) registerHandlers() {
|
||||
s.conf.HTTPRegister(http.MethodGet, "/control/access/list", s.handleAccessList)
|
||||
s.conf.HTTPRegister(http.MethodPost, "/control/access/set", s.handleAccessSet)
|
||||
|
||||
s.conf.HTTPRegister(http.MethodPost, "/control/cache_clear", s.handleCacheClear)
|
||||
|
||||
// Register both versions, with and without the trailing slash, to
|
||||
// prevent a 301 Moved Permanently redirect when clients request the
|
||||
// path without the trailing slash. Those redirects break some clients.
|
||||
|
||||
Reference in New Issue
Block a user