fun fromExistingPath()

in src/main/kotlin/org/jetbrains/teamcity/rest/infrastructure/RequestConfig.kt [15:37]


        fun fromExistingPath(
                method: RequestMethod,
                preparedPath: String,
                headers: Map<String, String> = mapOf()
        ): RequestConfig {
            return if (paramPattern.containsMatchIn(preparedPath) && pathPattern.containsMatchIn(preparedPath)) {
                val parsedPath = pathPattern.find(preparedPath)!!.value
                val query: MutableMap<String, List<String>> = HashMap()
                val paramMatches = paramPattern.findAll(preparedPath)
                paramMatches.forEach { matchResult ->
                    val groups = matchResult.groups
                    val name = groups[1]?.value
                    val value = groups[2]?.value
                    if (!name.isNullOrEmpty() && !value.isNullOrEmpty())
                        query[name] = listOf(value)
                }
                RequestConfig(method, parsedPath, query = query, headers = headers)
            } else {
                RequestConfig(
                        method, preparedPath, headers = headers
                )
            }
        }