diff --git a/internal/cache/manager.go b/internal/cache/manager.go index 5c40e36..05c423b 100644 --- a/internal/cache/manager.go +++ b/internal/cache/manager.go @@ -230,7 +230,11 @@ func (cm *CacheManager) Put(key CacheKey, resp *http.Response, body []byte) (*Ca } cm.items.Store(key, item) - log.Printf("[Cache] NEW %s %s (%s) from %s", resp.Request.Method, key.URL, formatBytes(item.Size), utils.GetRequestSource(resp.Request)) + method := "GET" + if resp.Request != nil { + method = resp.Request.Method + } + log.Printf("[Cache] NEW %s %s (%s) from %s", method, key.URL, formatBytes(item.Size), utils.GetRequestSource(resp.Request)) return item, nil } diff --git a/internal/utils/utils.go b/internal/utils/utils.go index 982293d..9f8e4dc 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -94,6 +94,9 @@ func GenerateRequestID() string { // 获取请求来源 func GetRequestSource(r *http.Request) string { + if r == nil { + return "" + } referer := r.Header.Get("Referer") if referer != "" { return fmt.Sprintf(" (from: %s)", referer)