func pathToOperation()

in internal/pkg/api/router.go [81:118]


func pathToOperation(path string) string {
	path = strings.TrimSuffix(path, "/")
	if path == "/api/status" {
		return "status"
	}
	if path == "/api/fleet/uploads" {
		return "uploadBegin"
	}
	if pgpReg.MatchString(path) {
		return "getPGPKey"
	}

	if strings.HasPrefix(path, "/api/fleet/") {
		pp := strings.Split(strings.TrimPrefix(path, "/"), "/")
		if len(pp) == 4 {
			if pp[2] == "agents" {
				return "enroll"
			} else if pp[2] == "uploads" {
				return "uploadComplete"
			} else if pp[2] == "file" {
				return "deliverFile"
			}
		} else if len(pp) == 5 {
			if pp[2] == "agents" {
				if pp[4] == "acks" || pp[4] == "checkin" {
					return pp[4]
				}
			} else if pp[2] == "uploads" {
				return "uploadChunk"
			} else if pp[2] == "artifacts" {
				return "artifact"
			}
		} else if len(pp) == 6 && pp[2] == "agents" && pp[4] == "audit" {
			return "audit-" + pp[5]
		}
	}
	return ""
}