public class FrontendConfig
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
boolean |
allowServiceIdBasedPostRequest
Boolean indicator to specify if frontend should allow the post requests that carry serviceId used as target
account name.
|
boolean |
attachTrackingInfo
Boolean indicator to specify if tracking information should be attached to responses.
|
long |
cacheValiditySeconds
Cache validity in seconds for non-private blobs for GET.
|
static java.lang.String |
CHUNK_UPLOAD_INITIAL_CHUNK_TTL_SECS_KEY |
java.lang.Integer |
chunkedGetResponseThresholdInBytes
Specifies the blob size in bytes beyond which chunked response will be sent for a getBlob() call
|
long |
chunkUploadInitialChunkTtlSecs
The blob TTL in seconds to use for data chunks uploaded in a stitched upload session.
|
GetOption |
defaultRouterGetOption
The default
GetOption that the frontend has to use when constructing
GetBlobOptions for Router.getBlob(String, GetBlobOptions)
(or the callback equivalent). |
static java.lang.String |
FAIL_IF_TTL_REQUIRED_BUT_NOT_PROVIDED_KEY |
boolean |
failIfTtlRequiredButNotProvided |
java.lang.String |
idConverterFactory
The IdConverterFactory that needs to be used by FrontendRestRequestService to convert IDs.
|
java.lang.String |
idSigningServiceFactory |
static java.lang.String |
MAX_ACCEPTABLE_TTL_SECS_IF_TTL_REQUIRED_KEY |
static java.lang.String |
MAX_JSON_REQUEST_SIZE_BYTES_KEY |
int |
maxAcceptableTtlSecsIfTtlRequired |
int |
maxJsonRequestSizeBytes
The maximum size in bytes for the JSON body of a "POST /stitch" request.
|
java.lang.String |
optionsAllowMethods
Value of "Access-Control-Allow-Methods" in response headers for OPTIONS requests.
|
long |
optionsValiditySeconds
Value of "Access-Control-Max-Age" in response headers for OPTIONS requests.
|
java.util.List<java.lang.String> |
pathPrefixesToRemove
The comma separated list of prefixes to remove from paths.
|
static java.lang.String |
REST_REQUEST_QUOTA_STRING |
java.lang.String |
restRequestQuota
Quotas for rest requests, in JSON string.
|
java.lang.String |
securePathPrefix
The secure path to validate if required for certain container.
|
java.lang.String |
securityServiceFactory
The SecurityServiceFactory that needs to be used by FrontendRestRequestService to validate requests.
|
static java.lang.String |
URL_SIGNER_ENDPOINTS |
long |
urlSignerDefaultMaxUploadSizeBytes
The default maximum size (in bytes) that can be uploaded using a signed POST URL unless otherwise specified at
the time of URL creation (depends on implementation).
|
long |
urlSignerDefaultUrlTtlSecs
The default time (in seconds) for which a signed URL is valid unless otherwise specified at the time of URL
creation (depends on implementation).
|
java.lang.String |
urlSignerEndpoints
The various endpoints for signed URLs, in JSON string.
|
long |
urlSignerMaxUrlTtlSecs
The maximum amount of time a signed URL is valid i.e.
|
java.lang.String |
urlSigningServiceFactory
The UrlSigningServiceFactory that needs to be used by FrontendRestRequestService to sign and verify URLs.
|
Constructor and Description |
---|
FrontendConfig(VerifiableProperties verifiableProperties) |
public static final java.lang.String URL_SIGNER_ENDPOINTS
public static final java.lang.String CHUNK_UPLOAD_INITIAL_CHUNK_TTL_SECS_KEY
public static final java.lang.String FAIL_IF_TTL_REQUIRED_BUT_NOT_PROVIDED_KEY
public static final java.lang.String MAX_ACCEPTABLE_TTL_SECS_IF_TTL_REQUIRED_KEY
public static final java.lang.String MAX_JSON_REQUEST_SIZE_BYTES_KEY
public static final java.lang.String REST_REQUEST_QUOTA_STRING
@Config(value="frontend.cache.validity.seconds") @Default(value="365 * 24 * 60 * 60") public final long cacheValiditySeconds
@Config(value="frontend.options.validity.seconds") @Default(value="24 * 60 * 60") public final long optionsValiditySeconds
@Config(value="frontend.options.allow.methods") @Default(value="POST, GET, OPTIONS, HEAD, DELETE") public final java.lang.String optionsAllowMethods
@Config(value="frontend.id.converter.factory") @Default(value="com.github.ambry.frontend.AmbryIdConverterFactory") public final java.lang.String idConverterFactory
@Config(value="frontend.security.service.factory") @Default(value="com.github.ambry.frontend.AmbrySecurityServiceFactory") public final java.lang.String securityServiceFactory
@Config(value="frontend.url.signing.service.factory") @Default(value="com.github.ambry.frontend.AmbryUrlSigningServiceFactory") public final java.lang.String urlSigningServiceFactory
@Config(value="frontend.id.signing.service.factory") @Default(value="com.github.ambry.frontend.AmbryIdSigningServiceFactory") public final java.lang.String idSigningServiceFactory
@Config(value="frontend.path.prefixes.to.remove") @Default(value="") public final java.util.List<java.lang.String> pathPrefixesToRemove
@Config(value="frontend.secure.path.prefix") @Default(value="") public final java.lang.String securePathPrefix
@Config(value="frontend.chunked.get.response.threshold.in.bytes") @Default(value="8192") public final java.lang.Integer chunkedGetResponseThresholdInBytes
@Config(value="frontend.allow.service.id.based.post.request") @Default(value="true") public final boolean allowServiceIdBasedPostRequest
@Config(value="frontend.attach.tracking.info") @Default(value="true") public final boolean attachTrackingInfo
@Config(value="frontend.url.signer.endpoints") @Default(value="{\"POST\": \"http://localhost:1174\", \"GET\": \"http://localhost:1174\"}") public final java.lang.String urlSignerEndpoints
@Config(value="frontend.rest.request.quota") @Default(value="{\"PUT\": \"-1\",\"GET\": \"-1\",\"POST\": \"-1\",\"HEAD\": \"-1\",\"OPTIONS\": \"-1\",\"UNKNOWN\": \"-1\",\"DELETE\": \"-1\"}") public final java.lang.String restRequestQuota
@Config(value="frontend.url.signer.default.max.upload.size.bytes") @Default(value="100 * 1024 * 1024") public final long urlSignerDefaultMaxUploadSizeBytes
@Config(value="frontend.url.signer.max.url.ttl.secs") @Default(value="60 * 60") public final long urlSignerMaxUrlTtlSecs
@Config(value="frontend.url.signer.default.url.ttl.secs") @Default(value="5 * 60") public final long urlSignerDefaultUrlTtlSecs
@Config(value="frontend.default.router.get.option") @Default(value="GetOption.None") public final GetOption defaultRouterGetOption
GetOption
that the frontend has to use when constructing
GetBlobOptions
for Router.getBlob(String, GetBlobOptions)
(or the callback equivalent).@Config(value="frontend.chunk.upload.initial.chunk.ttl.secs") @Default(value="28 * 24 * 60 * 60") public final long chunkUploadInitialChunkTtlSecs
@Config(value="frontend.fail.if.ttl.required.but.not.provided") @Default(value="false") public final boolean failIfTtlRequiredButNotProvided
@Config(value="frontend.max.acceptable.ttl.secs.if.ttl.required") @Default(value="30 * 24 * 60 * 60") public final int maxAcceptableTtlSecsIfTtlRequired
public FrontendConfig(VerifiableProperties verifiableProperties)