override fun doPost()

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


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

        try {
            val storage = GoogleUtils.getStorage(parameters)
            val buckets = storage.list().iterateAll().asSequence().toList()
            val bucketsElement = Element("buckets")
            buckets.forEach {
                bucketsElement.addContent(Element("bucket").apply {
                    text = it.name
                })
            }
            xmlResponse.addContent(bucketsElement)
        } catch (e: Throwable) {
            val message = GoogleUtils.getExceptionMessage(e)
            errors.addError(GoogleConstants.PARAM_ACCESS_KEY, message)
        }

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