// Copyright 2020 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.url;

/// There is no maximum URL length defined by RFC 3986, but this length should
/// be long enough to accommodate most non-data: URLs.
// See fxbug.dev/53565 for additional context on this value.
const uint32 MAX_URL_LENGTH = 4096;

/// A URL is used to reference a resource from a specified network location.
alias Url = string:MAX_URL_LENGTH;
