| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.web; |
| |
| // Most web browsers support up to 64 kiB maximum URL length. |
| const int32 MAX_URL_LENGTH = 65536; |
| using Url = string:MAX_URL_LENGTH; |
| |
| // There is no defined maximum length for schemes but this is a reasonable upper bound. |
| const int32 MAX_URL_SCHEME_NAME_LENGTH = 255; |
| using UrlSchemeName = string:MAX_URL_SCHEME_NAME_LENGTH; |
| |
| // RFC 1035 2.3.4 https://tools.ietf.org/html/rfc1035#section-2.3.4 |
| const int32 MAX_HOST_LENGTH = 255; |
| using UrlHostName = string:MAX_HOST_LENGTH; |
| |
| // MAX_URL_SCHEME_NAME_LENGTH + 3 + MAX_HOST_LENGTH. |
| const int32 MAX_SCHEME_AND_HOST_LENGTH = 513; |
| using UrlSchemeAndHostName = string:MAX_SCHEME_AND_HOST_LENGTH; |
| |
| // Most servers support less than 16 kiB maximum header size. 4k max headers is a reasonable size. |
| const int32 MAX_HEADERS_COUNT = 4096; |
| |
| // A maximum of 4k rules is enough for the current usage of these APIs. |
| const int32 MAX_RULE_COUNT = 4096; |