override fun doPost()

in azure-storage-server/src/main/kotlin/jetbrains/buildServer/serverSide/artifacts/azure/web/AzureSettingsController.kt [28:50]


    override fun doPost(request: HttpServletRequest, response: HttpServletResponse, xmlResponse: Element) {
        val errors = ActionErrors()
        val parameters = getProperties(request)

        try {
            val client = AzureUtils.getBlobClient(parameters)
            val containers = client.listContainers().toList()
            val containersElement = Element("containers")
            containers.forEach {
                containersElement.addContent(Element("container").apply {
                    text = it.name
                })
            }
            xmlResponse.addContent(containersElement)
        } catch (e: Throwable) {
            val message = AzureUtils.getExceptionMessage(e)
            errors.addError(AzureConstants.PARAM_ACCOUNT_KEY, message)
        }

        if (errors.hasErrors()) {
            errors.serialize(xmlResponse)
        }
    }