(path string)
| 104 | } |
| 105 | |
| 106 | func getPathParameterNames(path string) ([]string, error) { |
| 107 | var pathParameters []string |
| 108 | |
| 109 | regexObj, err := regexp.Compile(pathSegmentParamRegex) |
| 110 | if err != nil { |
| 111 | whisk.Debug(whisk.DbgError, "Failed to match path '%s' to regular expressions `%s`\n", path, pathSegmentParamRegex) |
| 112 | } else { |
| 113 | segments := strings.Split(path, "/") |
| 114 | for _, segment := range segments { |
| 115 | segment = fmt.Sprintf("/%s/", segment) |
| 116 | matchedItems := regexObj.FindAllStringSubmatch(segment, -1) |
| 117 | for _, matchedParam := range matchedItems { |
| 118 | for idx, paramName := range matchedParam { |
| 119 | whisk.Debug(whisk.DbgInfo, "Path parameter submatch '%v'; idx %v\n", paramName, idx) |
| 120 | if idx > 0 && len(paramName) > 0 { |
| 121 | pathParameters = append(pathParameters, paramName) |
| 122 | } |
| 123 | } |
| 124 | } |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | return pathParameters, err |
| 129 | } |
| 130 | |
| 131 | func hasPathParameters(path string) (bool, error) { |
| 132 | pathParams, err := getPathParameterNames(path) |
no outgoing calls
no test coverage detected