{"size": 728, "ext": "scrbl", "max_stars_repo_path": "scribblings/uri-template.scrbl", "max_stars_repo_name": "jessealama/uri-template", "max_stars_repo_stars_event_min_datetime": "2017-12-31T10:00:53.000Z", "max_stars_repo_stars_event_max_datetime": "2019-03-21T07:33:41.000Z", "max_issues_repo_path": "scribblings/uri-template.scrbl", "max_issues_repo_name": "jessealama/uri-template", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "scribblings/uri-template.scrbl", "max_forks_repo_name": "jessealama/uri-template", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 5, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 56.0, "max_line_length": 439, "alphanum_fraction": 0.75}
#lang scribble/manual
@require[@for-label[uri-template
                    racket/base]]

@title[#:style "toc"]{uri-template: A template language for URIs (IETF RFC 6570)}
@author[(author+email "Jesse Alama" "jesse@lisp.sh")]

@defmodule[uri-template]

This package aims to implement RFC 6570, URI Template. That RFC specifies a little pattern langauge for specifying classes of URIs. URIs may @emph{match} a URI Template, and given an assignment of values to variables, one may @emph{expand} a URI Template, which yields a URI. All those fussy details about precisely what characters are allowed in URIs (does this character, @emph{here}, need to be percent-escaped?) are carefully observed.

@include-section["library.scrbl"]
