pkgsrc/www/ruby-http-accept/DESCR
taca 5e06332b88 www/ruby-http-accept: add version 2.1.1 package
Add ruby-http-accept version 2.1.1 package.

# HTTP::Accept

Provides a robust set of parsers for dealing with HTTP Accept,
Accept-Language, Accept-Encoding, Accept-Charset headers.

## Motivation

I've been developing some tools for building RESTful endpoints and part of
that involved versioning.  After reviewing the options, I settled on using
the Accept: application/json;version=1 method as outlined here.

The version=1 part of the media-type is a parameter as defined by RFC7231
Section 3.1.1.1.  After reviewing several existing different options for
parsing the Accept: header, I noticed a disturbing trend: header.split(',').
Because parameters may contain quoted strings which contain commas, this is
clearly not an appropriate way to parse the header.

I am concerned about correctness, security and performance.  As such, I
implemented this gem to provide a simple high level interface for both
parsing and correctly interpreting these headers.
2020-01-19 08:23:06 +00:00

20 lines
914 B
Text

# HTTP::Accept
Provides a robust set of parsers for dealing with HTTP Accept,
Accept-Language, Accept-Encoding, Accept-Charset headers.
## Motivation
I've been developing some tools for building RESTful endpoints and part of
that involved versioning. After reviewing the options, I settled on using
the Accept: application/json;version=1 method as outlined here.
The version=1 part of the media-type is a parameter as defined by RFC7231
Section 3.1.1.1. After reviewing several existing different options for
parsing the Accept: header, I noticed a disturbing trend: header.split(',').
Because parameters may contain quoted strings which contain commas, this is
clearly not an appropriate way to parse the header.
I am concerned about correctness, security and performance. As such, I
implemented this gem to provide a simple high level interface for both
parsing and correctly interpreting these headers.