blob: 5f2a31790a51668522306be72ef68fa367a7f163 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to you under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jmeter.protocol.http.sampler
import org.apache.jmeter.config.Arguments
import org.apache.jmeter.config.KeystoreConfig
import org.apache.jmeter.protocol.http.control.AuthManager
import org.apache.jmeter.protocol.http.control.CacheManager
import org.apache.jmeter.protocol.http.control.CookieManager
import org.apache.jmeter.protocol.http.control.DNSCacheManager
import org.apache.jmeter.protocol.http.control.HeaderManager
import org.apache.jmeter.protocol.http.util.HTTPConstants
import org.apache.jmeter.protocol.http.util.HTTPFileArgs
import org.apache.jmeter.testelement.TestElementSchema
import org.apache.jmeter.testelement.schema.BooleanPropertyDescriptor
import org.apache.jmeter.testelement.schema.IntegerPropertyDescriptor
import org.apache.jmeter.testelement.schema.StringPropertyDescriptor
import org.apache.jmeter.testelement.schema.TestElementPropertyDescriptor
import org.apiguardian.api.API
import java.nio.charset.StandardCharsets
/**
* Lists properties of a [HTTPSamplerBase].
* @see HTTPSamplerBase
* @since 5.6
*/
@API(status = API.Status.EXPERIMENTAL, since = "5.6")
public abstract class HTTPSamplerBaseSchema : TestElementSchema() {
public companion object INSTANCE : HTTPSamplerBaseSchema()
public val arguments: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, Arguments>
by testElement("HTTPsampler.Arguments")
public val authManager: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, AuthManager>
by testElement("HTTPSampler.auth_manager")
public val cookieManager: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, CookieManager>
by testElement("HTTPSampler.cookie_manager")
public val keystoreConfig: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, KeystoreConfig>
by testElement("HTTPSampler.keystore_configuration")
public val cacheManager: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, CacheManager>
by testElement("HTTPSampler.cache_manager")
public val headerManager: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, HeaderManager>
by testElement("HTTPSampler.header_manager")
public val dnsCacheManager: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, DNSCacheManager>
by testElement("HTTPSampler.dns_cache_manager")
public val method: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.method", default = HTTPSamplerBase.DEFAULT_METHOD)
public val protocol: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.protocol", default = HTTPConstants.PROTOCOL_HTTP)
public val domain: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.domain")
public val port: IntegerPropertyDescriptor<HTTPSamplerBaseSchema>
by int("HTTPSampler.port")
public val path: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.path")
public val proxy: HTTPSamplerProxyParamsSchema<HTTPSamplerBaseSchema> by HTTPSamplerProxyParamsSchema()
public val contentEncoding: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.contentEncoding", default = StandardCharsets.UTF_8.name())
public val implementation: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.implementation")
public val connectTimeout: IntegerPropertyDescriptor<HTTPSamplerBaseSchema>
by int("HTTPSampler.connect_timeout")
public val responseTimeout: IntegerPropertyDescriptor<HTTPSamplerBaseSchema>
by int("HTTPSampler.response_timeout")
public val followRedirects: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.follow_redirects")
public val autoRedirects: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.auto_redirects")
public val useKeepalive: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.use_keepalive")
public val useMultipartPost: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.DO_MULTIPART_POST")
public val useBrowserCompatibleMultipart: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.BROWSER_COMPATIBLE_MULTIPART", default = false)
public val concurrentDownload: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.concurrentDwn", default = false)
public val concurrentDownloadPoolSize: IntegerPropertyDescriptor<HTTPSamplerBaseSchema>
by int("HTTPSampler.concurrentPool", default = 6)
public val retrieveEmbeddedResources: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.image_parser", default = false)
public val embeddedUrlAllowRegex: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.embedded_url_re")
public val embeddedUrlExcludeRegex: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.embedded_url_exclude_re")
public val storeAsMD5: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.md5", default = false)
public val postBodyRaw: BooleanPropertyDescriptor<HTTPSamplerBaseSchema>
by boolean("HTTPSampler.postBodyRaw", default = false)
public val ipSource: StringPropertyDescriptor<HTTPSamplerBaseSchema>
by string("HTTPSampler.ipSource")
public val ipSourceType: IntegerPropertyDescriptor<HTTPSamplerBaseSchema>
by int("HTTPSampler.ipSourceType", default = HTTPSamplerBase.SourceType.HOSTNAME.ordinal)
public val fileArguments: TestElementPropertyDescriptor<HTTPSamplerBaseSchema, HTTPFileArgs>
by testElement("HTTPsampler.Files")
}