Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.0.0

uri

Werkzeuge zum Erstellen und Parsen von URIs, einschließlich Unterstützung für das Parsen von URI-Vorlagen gemäß RFC 6570.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
484.000
Likes
26
Pub-Punkte
145

Paket installieren

flutter pub add uri

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das uri-Paket bietet Hilfsmittel zum Erstellen, Parsen und Manipulieren von URIs in Dart-Anwendungen. Es unterstützt die Analyse von URI-Vorlagen gemäß RFC 6570 und ermöglicht die dynamische Generierung von URLs mit Variablen. Für alle wichtigen Plattformen entwickelt, integriert es sich nahtlos in HTTP-Clients und Webdienstintegrationen. Das Paket wird von Google gepflegt und bietet eine leichte und zuverlässige Lösung für komplexe URI-Operationen in Flutter- und Dart-Projekten.

Anwendungsfälle

  • Dynamische API-URLs erstellen
  • Parsing von Abfrageparametern aus URIs
  • URI-Vorlagen mit Variablen erweitern
  • Umgang mit relativen und absoluten URIs
  • Integration mit HTTP-Clients
  • Überprüfung der URI-Struktur

Hauptmerkmale

  • RFC 6570 URI-Vorlage-Unterstützung
  • Robuste Analyse und Konstruktion
  • Plattformübergreifende Kompatibilität
  • Leicht und effizient
  • Unterstützt die Manipulation von Abfragezeichenfolgen
  • Erweiterbar für benutzerdefinierte URI-Logik

Geeignet für

  • API-Clients
  • Webdienstintegrationen
  • URL-Routing-Systeme
  • Datenabruf-Pipelines
  • Backend-Kommunikationsschichten
  • Testen von HTTP-Interaktionen

Hinweise

  • Erfordert manuelle Behandlung der Kodierung für Sonderzeichen
  • Nicht für die vollständige URL-Validierung über die Syntax hinaus vorgesehen
  • Beschränkt auf URI-Ebene Operationen, nicht auf vollständige HTTP-Anfragen
  • Keine integrierten Caching- oder Wiederholungsmechanismen
  • Abhängig von der korrekten Verwendung der Vorlagensyntax
  • Möglicherweise ist eine Kombination mit dem http-Paket für vollständige HTTP-Workflows erforderlich

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

ci

Utilities for working with URIs in Dart, mostly parsing and generating URIs.

UriPattern

UriPattern is an interface for classes that match and parse URIs, much like the Pattern is for Strings. It defines the methods bool matches(Uri uri) and UriMatch match(Uri uri).

UriMatch

UriMatch is the result of UriPattern.match(). It contains the parameters parsed out of a URI and the "rest" of the URI left over after parsing, which is useful for parsing a single URI with multiple relative URI patterns that form a hierarchy.

UriTemplate

UriTemplate is an implementation of RFC 6570 URI Templates. URI Templates are useful for generating URIs from data. UriTemplates are created from a template string, and then expanded with data to generate a URI:

var template = UriTemplate("http://example.com/~{user}/");
String fredUri = template.expand({'user': 'fred'});
print(fredUri); // prints: http://example.com/~fred/
Syntax

URI templates are strings made up of fixed and variable parts. The variable parts are described with expressions, which are places within single curly-braces: { and }.

Expressions consist of an optional operator and a comma-separated list of variable specifications_. Variable specifications consist of a variable name and an optional modifier. The operator applies to the whole expression and controls how reserved characters are expanded, the prefix and separator, if any, applied to the expansion, and whether to expand the variable as a key/value pair. Modifiers apply to each variable in the expression and allow truncating the value, or "exploding" list and maps into multiple key/value pairs.

Examples
  • http://example.com/~{username}/
  • http://example.com/dictionary/{term:1}/{term}
  • http://example.com/search{?q,lang}
Operators

URI template expansions does more than simple variable replacement, it has facilities for generating paths, fragments, query strings and more. To control the expansion, expressions can use one of the supported operators:

Operator Description
none Simple string expansion
+ Reserved string expansion
# Fragment expansion
. Label expansion, dot-prefixed
/ Path segments, slash-prefixed
; Path-style parameters, semicolon-prefixed
? Form-style query, ampersand-separated
& Form-style query continuation
Modifiers

Modifiers control

Modifier Description
none Default expansion
:n Prefix: use only the first n characters of the value
* "Explode" the lists and maps into key/value pairs

UriParser

UriParser parses URIs according to a UriTemplate, extracting parameters based on the variables defined in the template.

Since URI Templates are not designed to be parsable, only a restricted subset of templates can be used for parsing.

Parsable templates have the following restrictions over expandable templates:

  • URI components must come in order: scheme, host, path, query, fragment. There can only be one of each component.
  • Path expressions can only contain one variable.
  • Multiple expressions must be separated by a literal.
  • Only the following operators are supported: none, +, #, ?, &
  • Default and + operators are not allowed in query or fragment components.
  • Queries can only use the ? or & operator.
  • The ? operator can only be used once.
  • Fragments can only use the # operator

UriBuilder

UriBuilder is mutable container of URI components for incrementally building Uris.

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden