sillygod/cdp-cache

View on GitHub

Showing 20 of 20 total issues

Method Handler.UnmarshalCaddyfile has a Cognitive Complexity of 94 (exceeds 20 allowed). Consider refactoring.
Open

func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
config := getDefaultConfig()
 
for d.Next() {
 
 
Severity: Minor
Found in caddyfile.go - About 1 day to fix

Similar blocks of code found in 2 locations. Consider refactoring.
Open

package distributed
 
import (
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
)
Severity: Major
Found in extends/distributed/caddyfile.go and 1 other location - About 4 hrs to fix
extends/influxlog/Caddyfile.go on lines 1..72

Similar blocks of code found in 2 locations. Consider refactoring.
Open

package influxlog
 
import "github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
 
const (
Severity: Major
Found in extends/influxlog/Caddyfile.go and 1 other location - About 4 hrs to fix
extends/distributed/caddyfile.go on lines 1..73

Method Handler.UnmarshalCaddyfile has 23 return statements (exceeds 4 allowed).
Open

func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
config := getDefaultConfig()
 
for d.Next() {
 
 
Severity: Major
Found in caddyfile.go - About 2 hrs to fix

    Method Handler.ServeHTTP has a Cognitive Complexity of 31 (exceeds 20 allowed). Consider refactoring.
    Open

    func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error {
    // add a log here to record the elapsed time (from receiving the request to send the response)
    start := time.Now()
    upstreamDuration := time.Duration(0)
     
     
    Severity: Minor
    Found in handler.go - About 2 hrs to fix

    Method Handler.UnmarshalCaddyfile has 126 lines of code (exceeds 100 allowed). Consider refactoring.
    Open

    func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
    config := getDefaultConfig()
     
    for d.Next() {
     
     
    Severity: Major
    Found in caddyfile.go - About 2 hrs to fix

      Method Handler.ServeHTTP has 14 return statements (exceeds 4 allowed).
      Open

      func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error {
      // add a log here to record the elapsed time (from receiving the request to send the response)
      start := time.Now()
      upstreamDuration := time.Duration(0)
       
       
      Severity: Major
      Found in handler.go - About 1 hr to fix

        Function getCacheStatus has 7 return statements (exceeds 4 allowed).
        Open

        func getCacheStatus(req *http.Request, response *Response, config *Config) (bool, time.Time) {
        // NOTE: it seems that we can remove lock timeout
        if response.Code == http.StatusPartialContent || response.snapHeader.Get("Content-Range") != "" {
        return false, now().Add(config.LockTimeout)
        }
        Severity: Major
        Found in cache.go - About 45 mins to fix

          Function judgeResponseShouldCacheOrNot has 7 return statements (exceeds 4 allowed).
          Open

          func judgeResponseShouldCacheOrNot(req *http.Request,
          statusCode int,
          respHeaders http.Header,
          privateCache bool) ([]cacheobject.Reason, time.Time, []cacheobject.Warning, *cacheobject.Object, error) {
           
           
          Severity: Major
          Found in cache.go - About 45 mins to fix

            Method Storage.Delete has 5 return statements (exceeds 4 allowed).
            Open

            func (s *Storage) Delete(ctx context.Context, key string) error {
            kv, _, err := s.KV.Get(s.generateKey(key), &api.QueryOptions{RequireConsistent: true})
            if err != nil {
            return fmt.Errorf("unable to get data: %s, key: %s", err.Error(), s.generateKey(key))
            }
            Severity: Major
            Found in extends/storage/consul.go - About 35 mins to fix

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

              case keyCacheMaxMemorySize:
              if len(args) != 1 {
              return d.Err(fmt.Sprintf("Invalid usage of %s in cache config.", keyCacheMaxMemorySize))
              }
              num, err := strconv.Atoi(args[0])
              Severity: Minor
              Found in caddyfile.go and 1 other location - About 30 mins to fix
              caddyfile.go on lines 234..242

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

              case keyCacheBucketsNum:
              if len(args) != 1 {
              return d.Err(fmt.Sprintf("Invalid usage of %s in cache config.", keyCacheBucketsNum))
              }
              num, err := strconv.Atoi(args[0])
              Severity: Minor
              Found in caddyfile.go and 1 other location - About 30 mins to fix
              caddyfile.go on lines 243..251

              type name will be used as distributed.DistributedLock by other packages, and that stutters; consider calling this Lock
              Open

              type DistributedLock struct {
              Severity: Minor
              Found in extends/distributed/register.go by golint

              exported var LogUTCTimeFormat should have comment or be unexported
              Open

              var LogUTCTimeFormat = "2006/01/02 15:04:05"
              Severity: Minor
              Found in pkg/helper/helper.go by golint

              TODO found
              Open

              // TODO: Is there anywhere to distinguish reload or shutdown
              Severity: Minor
              Found in extends/distributed/register.go by fixme

              TODO found
              Open

              // TODO: Maybe we can redesign here to get a better performance
              Severity: Minor
              Found in cache.go by fixme

              TODO found
              Open

              // TODO: think a proper way to log these info
              Severity: Minor
              Found in handler.go by fixme

              TODO found
              Open

              // TODO: consider to do this in background worker
              Severity: Minor
              Found in extends/influxlog/influx.go by fixme

              TODO found
              Open

              // TODO: to figure out why get context cancel here
              Severity: Minor
              Found in backends/memory.go by fixme

              TODO found
              Open

              // TODO: how to handle when the bucket's num is changed
              Severity: Minor
              Found in cache.go by fixme
              Severity
              Category
              Status
              Source
              Language