in server/src/main/scala/com/twitter/server/handler/ToggleHandler.scala [215:237]
private[handler] def parsePath(path: String, errors: ArrayBuffer[String]): ParsedPath = {
path.split("/") match {
case Array("", "admin", "toggles") =>
ParsedPath(None, None)
case Array("", "admin", "toggles", libraryName) =>
if (!registeredLibrariesFn().contains(libraryName)) {
errors += s"Unknown library name: '$libraryName'"
ParsedPath(None, None)
} else {
ParsedPath(Some(libraryName), None)
}
case Array("", "admin", "toggles", libraryName, id) =>
if (!registeredLibrariesFn().contains(libraryName))
errors += s"Unknown library name: '$libraryName'"
if (!Toggle.isValidId(id))
errors += s"Invalid id: '$id'"
if (errors.isEmpty) ParsedPath(Some(libraryName), Some(id))
else ParsedPath(None, None)
case _ =>
errors += "Path must be of the form /admin/toggles{/$libraryName}{/$id}"
ParsedPath(None, None)
}
}