Exemple #1
0
known = KnownDict(MediaType, [
 {'_': MediaType(u'application/1d-interleaved-parityfec'),
  '_citations': [RFC(6015)]},
 {'_': MediaType(u'application/alto-costmap+json'), '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-costmapfilter+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-directory+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-endpointprop+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-endpointpropparams+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-endpointcost+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-endpointcostparams+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-error+json'), '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-networkmapfilter+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/alto-networkmap+json'),
  '_citations': [RFC(7285)]},
 {'_': MediaType(u'application/atom+xml'),
  '_citations': [RFC(4287), RFC(5023)]},
 {'_': MediaType(u'application/atomcat+xml'), '_citations': [RFC(5023)]},
 {'_': MediaType(u'application/atomdeleted+xml'), '_citations': [RFC(6721)]},
 {'_': MediaType(u'application/atomsvc+xml'), '_citations': [RFC(5023)]},
 {'_': MediaType(u'application/auth-policy+xml'), '_citations': [RFC(4745)]},
 {'_': MediaType(u'application/batch-smtp'), '_citations': [RFC(2442)]},
 {'_': MediaType(u'application/beep+xml'), '_citations': [RFC(3080)]},
 {'_': MediaType(u'application/calendar+json'), '_citations': [RFC(7265)]},
 {'_': MediaType(u'application/calendar+xml'), '_citations': [RFC(6321)]},
 {'_': MediaType(u'application/call-completion'), '_citations': [RFC(6910)]},
 {'_': MediaType(u'application/cals-1840'), '_citations': [RFC(1895)]},
 {'_': MediaType(u'application/cbor'), '_citations': [RFC(7049)]},
 {'_': MediaType(u'application/ccmp+xml'), '_citations': [RFC(6503)]},
 {'_': MediaType(u'application/ccxml+xml'), '_citations': [RFC(4267)]},
 {'_': MediaType(u'application/cdmi-capability'), '_citations': [RFC(6208)]},
 {'_': MediaType(u'application/cdmi-container'), '_citations': [RFC(6208)]},
 {'_': MediaType(u'application/cdmi-domain'), '_citations': [RFC(6208)]},
 {'_': MediaType(u'application/cdmi-object'), '_citations': [RFC(6208)]},
 {'_': MediaType(u'application/cdmi-queue'), '_citations': [RFC(6208)]},
 {'_': MediaType(u'application/cdni'), '_citations': [RFC(7736)]},
 {'_': MediaType(u'application/cellml+xml'), '_citations': [RFC(4708)]},
 {'_': MediaType(u'application/cfw'), '_citations': [RFC(6230)]},
 {'_': MediaType(u'application/cms'), '_citations': [RFC(7193)]},
 {'_': MediaType(u'application/cnrp+xml'), '_citations': [RFC(3367)]},
 {'_': MediaType(u'application/coap-group+json'), '_citations': [RFC(7390)]},
 {'_': MediaType(u'application/conference-info+xml'),
  '_citations': [RFC(4575)]},
 {'_': MediaType(u'application/cpl+xml'), '_citations': [RFC(3880)]},
 {'_': MediaType(u'application/csrattrs'), '_citations': [RFC(7030)]},
 {'_': MediaType(u'application/davmount+xml'), '_citations': [RFC(4709)]},
 {'_': MediaType(u'application/dialog-info+xml'), '_citations': [RFC(4235)]},
 {'_': MediaType(u'application/dicom'), '_citations': [RFC(3240)]},
 {'_': MediaType(u'application/dns'), '_citations': [RFC(4027)]},
 {'_': MediaType(u'application/dskpp+xml'), '_citations': [RFC(6063)]},
 {'_': MediaType(u'application/dssc+der'), '_citations': [RFC(5698)]},
 {'_': MediaType(u'application/dssc+xml'), '_citations': [RFC(5698)]},
 {'_': MediaType(u'application/dvcs'), '_citations': [RFC(3029)]},
 {'_': MediaType(u'application/ecmascript'), '_citations': [RFC(4329)]},
 {'_': MediaType(u'application/edi-consent'), '_citations': [RFC(1767)]},
 {'_': MediaType(u'application/edifact'), '_citations': [RFC(1767)]},
 {'_': MediaType(u'application/edi-x12'), '_citations': [RFC(1767)]},
 {'_': MediaType(u'application/emergencycalldata.comment+xml'),
  '_citations': [RFC(7852)]},
 {'_': MediaType(u'application/emergencycalldata.providerinfo+xml'),
  '_citations': [RFC(7852)]},
 {'_': MediaType(u'application/emergencycalldata.serviceinfo+xml'),
  '_citations': [RFC(7852)]},
 {'_': MediaType(u'application/emergencycalldata.deviceinfo+xml'),
  '_citations': [RFC(7852)]},
 {'_': MediaType(u'application/emergencycalldata.subscriberinfo+xml'),
  '_citations': [RFC(7852)]},
 {'_': MediaType(u'application/emma+xml'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/2007/CR-emma-20071211/'
                          u'#media-type-registration')]},
 {'_': MediaType(u'application/encaprtp'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'application/epp+xml'), '_citations': [RFC(5730)]},
 {'_': MediaType(u'application/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'application/exi'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/2009/'
                          u'CR-exi-20091208/#mediaTypeRegistration')]},
 {'_': MediaType(u'application/fdt+xml'), '_citations': [RFC(6726)]},
 {'_': MediaType(u'application/fits'), '_citations': [RFC(4047)]},
 {'_': MediaType(u'application/font-tdpfr'), '_citations': [RFC(3073)]},
 {'_': MediaType(u'application/framework-attributes+xml'),
  '_citations': [RFC(6230)]},
 {'_': MediaType(u'application/geo+json'), '_citations': [RFC(7946)]},
 {'_': MediaType(u'application/gzip'), '_citations': [RFC(6713)]},
 {'_': MediaType(u'application/h224'), '_citations': [RFC(4573)]},
 {'_': MediaType(u'application/held+xml'), '_citations': [RFC(5985)]},
 {'_': MediaType(u'application/http'), '_citations': [RFC(7230)]},
 {'_': MediaType(u'application/ibe-key-request+xml'),
  '_citations': [RFC(5408)]},
 {'_': MediaType(u'application/ibe-pkg-reply+xml'), '_citations': [RFC(5408)]},
 {'_': MediaType(u'application/ibe-pp-data'), '_citations': [RFC(5408)]},
 {'_': MediaType(u'application/im-iscomposing+xml'),
  '_citations': [RFC(3994)]},
 {'_': MediaType(u'application/index'), '_citations': [RFC(2652)]},
 {'_': MediaType(u'application/index.cmd'), '_citations': [RFC(2652)]},
 {'_': MediaType(u'application/index.obj'), '_citations': [RFC(2652)]},
 {'_': MediaType(u'application/index.response'), '_citations': [RFC(2652)]},
 {'_': MediaType(u'application/index.vnd'), '_citations': [RFC(2652)]},
 {'_': MediaType(u'application/iotp'), '_citations': [RFC(2935)]},
 {'_': MediaType(u'application/ipfix'), '_citations': [RFC(5655)]},
 {'_': MediaType(u'application/ipp'), '_citations': [RFC(2910)]},
 {'_': MediaType(u'application/isup'), '_citations': [RFC(3204)]},
 {'_': MediaType(u'application/javascript'), '_citations': [RFC(4329)]},
 {'_': MediaType(u'application/jose'), '_citations': [RFC(7515)]},
 {'_': MediaType(u'application/jose+json'), '_citations': [RFC(7515)]},
 {'_': MediaType(u'application/jrd+json'), '_citations': [RFC(7033)]},
 {'_': MediaType(u'application/json'),
  '_citations': [RFC(7159)],
  'is_json': True,
  'patch': False},
 {'_': MediaType(u'application/json-patch+json'), '_citations': [RFC(6902)],
  'patch': True},
 {'_': MediaType(u'application/json-seq'), '_citations': [RFC(7464)]},
 {'_': MediaType(u'application/jwk+json'), '_citations': [RFC(7517)]},
 {'_': MediaType(u'application/jwk-set+json'), '_citations': [RFC(7517)]},
 {'_': MediaType(u'application/jwt'), '_citations': [RFC(7519)]},
 {'_': MediaType(u'application/kpml-request+xml'), '_citations': [RFC(4730)]},
 {'_': MediaType(u'application/kpml-response+xml'), '_citations': [RFC(4730)]},
 {'_': MediaType(u'application/lgr+xml'), '_citations': [RFC(7940)]},
 {'_': MediaType(u'application/link-format'), '_citations': [RFC(6690)]},
 {'_': MediaType(u'application/load-control+xml'), '_citations': [RFC(7200)]},
 {'_': MediaType(u'application/lost+xml'), '_citations': [RFC(5222)]},
 {'_': MediaType(u'application/lostsync+xml'), '_citations': [RFC(6739)]},
 {'_': MediaType(u'application/mads+xml'), '_citations': [RFC(6207)]},
 {'_': MediaType(u'application/marc'), '_citations': [RFC(2220)]},
 {'_': MediaType(u'application/marcxml+xml'), '_citations': [RFC(6207)]},
 {'_': MediaType(u'application/mathml-content+xml'),
  '_citations': [Citation(None,
                          'http://www.w3.org/TR/MathML3/appendixb.html')]},
 {'_': MediaType(u'application/mathml-presentation+xml'),
  '_citations': [Citation(None,
                          'http://www.w3.org/TR/MathML3/appendixb.html')]},
 {'_': MediaType(u'application/mathml+xml'),
  '_citations': [Citation(None,
                          'http://www.w3.org/TR/MathML3/appendixb.html')]},
 {'_': MediaType(u'application/mbox'), '_citations': [RFC(4155)]},
 {'_': MediaType(u'application/media_control+xml'), '_citations': [RFC(5168)]},
 {'_': MediaType(u'application/media-policy-dataset+xml'),
  '_citations': [RFC(6796)]},
 {'_': MediaType(u'application/mediaservercontrol+xml'),
  '_citations': [RFC(5022)]},
 {'_': MediaType(u'application/merge-patch+json'), '_citations': [RFC(7396)],
  'patch': True},
 {'_': MediaType(u'application/metalink4+xml'), '_citations': [RFC(5854)]},
 {'_': MediaType(u'application/mets+xml'), '_citations': [RFC(6207)]},
 {'_': MediaType(u'application/mikey'), '_citations': [RFC(3830)]},
 {'_': MediaType(u'application/mods+xml'), '_citations': [RFC(6207)]},
 {'_': MediaType(u'application/moss-keys'), '_citations': [RFC(1848)]},
 {'_': MediaType(u'application/moss-signature'), '_citations': [RFC(1848)]},
 {'_': MediaType(u'application/mosskey-data'), '_citations': [RFC(1848)]},
 {'_': MediaType(u'application/mosskey-request'), '_citations': [RFC(1848)]},
 {'_': MediaType(u'application/mp21'), '_citations': [RFC(6381)]},
 {'_': MediaType(u'application/mp4'), '_citations': [RFC(4337), RFC(6381)]},
 {'_': MediaType(u'application/mpeg4-generic'), '_citations': [RFC(3640)]},
 {'_': MediaType(u'application/mpeg4-iod'), '_citations': [RFC(4337)]},
 {'_': MediaType(u'application/mpeg4-iod-xmt'), '_citations': [RFC(4337)]},
 {'_': MediaType(u'application/mrb-consumer+xml'), '_citations': [RFC(6917)]},
 {'_': MediaType(u'application/mrb-publish+xml'), '_citations': [RFC(6917)]},
 {'_': MediaType(u'application/msc-ivr+xml'), '_citations': [RFC(6231)]},
 {'_': MediaType(u'application/msc-mixer+xml'), '_citations': [RFC(6505)]},
 {'_': MediaType(u'application/mxf'), '_citations': [RFC(4539)]},
 {'_': MediaType(u'application/nasdata'), '_citations': [RFC(4707)]},
 {'_': MediaType(u'application/news-checkgroups'), '_citations': [RFC(5537)]},
 {'_': MediaType(u'application/news-groupinfo'), '_citations': [RFC(5537)]},
 {'_': MediaType(u'application/news-transmission'), '_citations': [RFC(5537)]},
 {'_': MediaType(u'application/nlsml+xml'), '_citations': [RFC(6787)]},
 {'_': MediaType(u'application/ocsp-request'), '_citations': [RFC(6960)]},
 {'_': MediaType(u'application/ocsp-response'), '_citations': [RFC(6960)]},
 {'_': MediaType(u'application/octet-stream'),
  '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'application/oda'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'application/oebps-package+xml'), '_citations': [RFC(4839)]},
 {'_': MediaType(u'application/ogg'), '_citations': [RFC(5334), RFC(7845)]},
 {'_': MediaType(u'application/p2p-overlay+xml'), '_citations': [RFC(6940)]},
 {'_': MediaType(u'application/parityfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'application/patch-ops-error+xml'),
  '_citations': [RFC(5261)]},
 {'_': MediaType(u'application/pdf'), '_citations': [RFC(3778)]},
 {'_': MediaType(u'application/pgp-encrypted'), '_citations': [RFC(3156)]},
 {'_': MediaType(u'application/pgp-keys'), '_citations': [RFC(3156)]},
 {'_': MediaType(u'application/pgp-signature'), '_citations': [RFC(3156)]},
 {'_': MediaType(u'application/pidf-diff+xml'), '_citations': [RFC(5262)]},
 {'_': MediaType(u'application/pidf+xml'), '_citations': [RFC(3863)]},
 {'_': MediaType(u'application/pkcs10'), '_citations': [RFC(5967)]},
 {'_': MediaType(u'application/pkcs7-mime'),
  '_citations': [RFC(5751), RFC(7114)]},
 {'_': MediaType(u'application/pkcs7-signature'), '_citations': [RFC(5751)]},
 {'_': MediaType(u'application/pkcs8'), '_citations': [RFC(5958)]},
 {'_': MediaType(u'application/pkix-attr-cert'), '_citations': [RFC(5877)]},
 {'_': MediaType(u'application/pkix-cert'), '_citations': [RFC(2585)]},
 {'_': MediaType(u'application/pkix-crl'), '_citations': [RFC(2585)]},
 {'_': MediaType(u'application/pkix-pkipath'), '_citations': [RFC(6066)]},
 {'_': MediaType(u'application/pkixcmp'), '_citations': [RFC(2510)]},
 {'_': MediaType(u'application/pls+xml'), '_citations': [RFC(4267)]},
 {'_': MediaType(u'application/poc-settings+xml'), '_citations': [RFC(4354)]},
 {'_': MediaType(u'application/postscript'),
  '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'application/ppsp-tracker+json'), '_citations': [RFC(7846)]},
 {'_': MediaType(u'application/problem+json'), '_citations': [RFC(7807)]},
 {'_': MediaType(u'application/problem+xml'), '_citations': [RFC(7807)]},
 {'_': MediaType(u'application/pskc+xml'), '_citations': [RFC(6030)]},
 {'_': MediaType(u'application/rdf+xml'), '_citations': [RFC(3870)]},
 {'_': MediaType(u'application/qsig'), '_citations': [RFC(3204)]},
 {'_': MediaType(u'application/raptorfec'), '_citations': [RFC(6682)]},
 {'_': MediaType(u'application/rdap+json'), '_citations': [RFC(7483)]},
 {'_': MediaType(u'application/reginfo+xml'), '_citations': [RFC(3680)]},
 {'_': MediaType(u'application/relax-ng-compact-syntax'),
  '_citations': [Citation(None,
                          'http://www.jtc1sc34.org/repository/0661.pdf')]},
 {'_': MediaType(u'application/remote-printing'), '_citations': [RFC(1486)]},
 {'_': MediaType(u'application/reputon+json'), '_citations': [RFC(7071)]},
 {'_': MediaType(u'application/resource-lists-diff+xml'),
  '_citations': [RFC(5362)]},
 {'_': MediaType(u'application/resource-lists+xml'),
  '_citations': [RFC(4826)]},
 {'_': MediaType(u'application/rfc+xml'), '_citations': [RFC(7991)]},
 {'_': MediaType(u'application/rlmi+xml'), '_citations': [RFC(4662)]},
 {'_': MediaType(u'application/rls-services+xml'), '_citations': [RFC(4826)]},
 {'_': MediaType(u'application/rpki-ghostbusters'), '_citations': [RFC(6493)]},
 {'_': MediaType(u'application/rpki-manifest'), '_citations': [RFC(6481)]},
 {'_': MediaType(u'application/rpki-roa'), '_citations': [RFC(6481)]},
 {'_': MediaType(u'application/rpki-updown'), '_citations': [RFC(6492)]},
 {'_': MediaType(u'application/rtploopback'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'application/rtx'), '_citations': [RFC(4588)]},
 {'_': MediaType(u'application/sbml+xml'), '_citations': [RFC(3823)]},
 {'_': MediaType(u'application/scim+json'), '_citations': [RFC(7644)]},
 {'_': MediaType(u'application/scvp-cv-request'), '_citations': [RFC(5055)]},
 {'_': MediaType(u'application/scvp-cv-response'), '_citations': [RFC(5055)]},
 {'_': MediaType(u'application/scvp-vp-request'), '_citations': [RFC(5055)]},
 {'_': MediaType(u'application/scvp-vp-response'), '_citations': [RFC(5055)]},
 {'_': MediaType(u'application/sdp'), '_citations': [RFC(4566)]},
 {'_': MediaType(u'application/sgml'), '_citations': [RFC(1874)]},
 {'_': MediaType(u'application/shf+xml'), '_citations': [RFC(4194)]},
 {'_': MediaType(u'application/sieve'), '_citations': [RFC(5228)]},
 {'_': MediaType(u'application/simple-filter+xml'), '_citations': [RFC(4661)]},
 {'_': MediaType(u'application/simple-message-summary'),
  '_citations': [RFC(3842)]},
 {'_': MediaType(u'application/smil'),
  '_citations': [RFC(4536)],
  'deprecated': True},
 {'_': MediaType(u'application/smil+xml'), '_citations': [RFC(4536)]},
 {'_': MediaType(u'application/smpte336m'), '_citations': [RFC(6597)]},
 {'_': MediaType(u'application/soap+xml'), '_citations': [RFC(3902)]},
 {'_': MediaType(u'application/sparql-query'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/2007/'
                          u'CR-rdf-sparql-query-20070614/#mediaType')]},
 {'_': MediaType(u'application/sparql-results+xml'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/2007/'
                          u'CR-rdf-sparql-XMLres-20070925/#mime')]},
 {'_': MediaType(u'application/spirits-event+xml'), '_citations': [RFC(3910)]},
 {'_': MediaType(u'application/sql'), '_citations': [RFC(6922)]},
 {'_': MediaType(u'application/srgs'), '_citations': [RFC(4267)]},
 {'_': MediaType(u'application/srgs+xml'), '_citations': [RFC(4267)]},
 {'_': MediaType(u'application/sru+xml'), '_citations': [RFC(6207)]},
 {'_': MediaType(u'application/ssml+xml'), '_citations': [RFC(4267)]},
 {'_': MediaType(u'application/tamp-apex-update'), '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-apex-update-confirm'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-community-update'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-community-update-confirm'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-error'), '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-sequence-adjust'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-sequence-adjust-confirm'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-status-query'), '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-status-response'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-update'), '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tamp-update-confirm'),
  '_citations': [RFC(5934)]},
 {'_': MediaType(u'application/tei+xml'), '_citations': [RFC(6129)]},
 {'_': MediaType(u'application/thraud+xml'), '_citations': [RFC(5941)]},
 {'_': MediaType(u'application/timestamp-query'), '_citations': [RFC(3161)]},
 {'_': MediaType(u'application/timestamp-reply'), '_citations': [RFC(3161)]},
 {'_': MediaType(u'application/timestamped-data'), '_citations': [RFC(5955)]},
 {'_': MediaType(u'application/ulpfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'application/vcard+json'), '_citations': [RFC(7095)]},
 {'_': MediaType(u'application/vcard+xml'), '_citations': [RFC(6351)]},
 {'_': MediaType(u'application/vemmi'), '_citations': [RFC(2122)]},
 {'_': MediaType(u'application/voicexml+xml'), '_citations': [RFC(4267)]},
 {'_': MediaType(u'application/vq-rtcpxr'), '_citations': [RFC(6035)]},
 {'_': MediaType(u'application/watcherinfo+xml'), '_citations': [RFC(3858)]},
 {'_': MediaType(u'application/whoispp-query'), '_citations': [RFC(2957)]},
 {'_': MediaType(u'application/whoispp-response'), '_citations': [RFC(2958)]},
 {'_': MediaType(u'application/widget'),
  '_citations': [Citation(u'ISO/IEC 19757-2:2003/FDAM-1',
                          u'http://www.w3.org/TR/widgets/'
                          u'#media-type-registration-for-applicationw')]},
 {'_': MediaType(u'application/x-www-form-urlencoded'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html/iana.html'
                          u'#application/x-www-form-urlencoded')],
  'patch': False},
 {'_': MediaType(u'application/x400-bp'), '_citations': [RFC(1494)]},
 {'_': MediaType(u'application/xacml+xml'), '_citations': [RFC(7061)]},
 {'_': MediaType(u'application/xcap-att+xml'), '_citations': [RFC(4825)]},
 {'_': MediaType(u'application/xcap-caps+xml'), '_citations': [RFC(4825)]},
 {'_': MediaType(u'application/xcap-diff+xml'), '_citations': [RFC(5874)]},
 {'_': MediaType(u'application/xcap-el+xml'), '_citations': [RFC(4825)]},
 {'_': MediaType(u'application/xcap-error+xml'), '_citations': [RFC(4825)]},
 {'_': MediaType(u'application/xcap-ns+xml'), '_citations': [RFC(4825)]},
 {'_': MediaType(u'application/xcon-conference-info-diff+xml'),
  '_citations': [RFC(6502)]},
 {'_': MediaType(u'application/xcon-conference-info+xml'),
  '_citations': [RFC(6502)]},
 {'_': MediaType(u'application/xhtml+xml'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/'
                          u'html/iana.html#application/xhtml+xml')]},
 {'_': MediaType(u'application/xml'),
  '_citations': [RFC(7303)],
  'is_xml': True,
  'patch': False},
 {'_': MediaType(u'application/xml-dtd'), '_citations': [RFC(7303)]},
 {'_': MediaType(u'application/xml-external-parsed-entity'),
  '_citations': [RFC(7303)]},
 {'_': MediaType(u'application/xml-patch+xml'), '_citations': [RFC(7351)],
  'patch': True},
 {'_': MediaType(u'application/xmpp+xml'), '_citations': [RFC(3923)]},
 {'_': MediaType(u'application/xslt+xml'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/2007/'
                          u'REC-xslt20-20070123/#media-type-registration')]},
 {'_': MediaType(u'application/xv+xml'), '_citations': [RFC(4374)]},
 {'_': MediaType(u'application/yang'), '_citations': [RFC(6020)]},
 {'_': MediaType(u'application/yin+xml'), '_citations': [RFC(6020)]},
 {'_': MediaType(u'application/zlib'), '_citations': [RFC(6713)]},
 {'_': MediaType(u'audio/1d-interleaved-parityfec'),
  '_citations': [RFC(6015)]},
 {'_': MediaType(u'audio/32kadpcm'), '_citations': [RFC(3802), RFC(2421)]},
 {'_': MediaType(u'audio/3gpp'), '_citations': [RFC(3839), RFC(6381)]},
 {'_': MediaType(u'audio/3gpp2'), '_citations': [RFC(4393), RFC(6381)]},
 {'_': MediaType(u'audio/ac3'), '_citations': [RFC(4184)]},
 {'_': MediaType(u'audio/amr'), '_citations': [RFC(4867)]},
 {'_': MediaType(u'audio/amr-wb'), '_citations': [RFC(4867)]},
 {'_': MediaType(u'audio/amr-wb+'), '_citations': [RFC(4352)]},
 {'_': MediaType(u'audio/aptx'), '_citations': [RFC(7310)]},
 {'_': MediaType(u'audio/asc'), '_citations': [RFC(6295)]},
 {'_': MediaType(u'audio/atrac-advanced-lossless'), '_citations': [RFC(5584)]},
 {'_': MediaType(u'audio/atrac-x'), '_citations': [RFC(5584)]},
 {'_': MediaType(u'audio/atrac3'), '_citations': [RFC(5584)]},
 {'_': MediaType(u'audio/basic'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'audio/bv16'), '_citations': [RFC(4298)]},
 {'_': MediaType(u'audio/bv32'), '_citations': [RFC(4298)]},
 {'_': MediaType(u'audio/clearmode'), '_citations': [RFC(4040)]},
 {'_': MediaType(u'audio/cn'), '_citations': [RFC(3389)]},
 {'_': MediaType(u'audio/dat12'), '_citations': [RFC(3190)]},
 {'_': MediaType(u'audio/dls'), '_citations': [RFC(4613)]},
 {'_': MediaType(u'audio/dsr-es201108'), '_citations': [RFC(3557)]},
 {'_': MediaType(u'audio/dsr-es202050'), '_citations': [RFC(4060)]},
 {'_': MediaType(u'audio/dsr-es202211'), '_citations': [RFC(4060)]},
 {'_': MediaType(u'audio/dsr-es202212'), '_citations': [RFC(4060)]},
 {'_': MediaType(u'audio/dv'), '_citations': [RFC(6469)]},
 {'_': MediaType(u'audio/dvi4'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/eac3'), '_citations': [RFC(4598)]},
 {'_': MediaType(u'audio/encaprtp'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'audio/evrc'), '_citations': [RFC(4788)]},
 {'_': MediaType(u'audio/evrc-qcp'), '_citations': [RFC(3625)]},
 {'_': MediaType(u'audio/evrc0'), '_citations': [RFC(4788)]},
 {'_': MediaType(u'audio/evrc1'), '_citations': [RFC(4788)]},
 {'_': MediaType(u'audio/evrcb'), '_citations': [RFC(5188)]},
 {'_': MediaType(u'audio/evrcb0'), '_citations': [RFC(5188)]},
 {'_': MediaType(u'audio/evrcb1'), '_citations': [RFC(4788)]},
 {'_': MediaType(u'audio/evrcnw'), '_citations': [RFC(6884)]},
 {'_': MediaType(u'audio/evrcnw0'), '_citations': [RFC(6884)]},
 {'_': MediaType(u'audio/evrcnw1'), '_citations': [RFC(6884)]},
 {'_': MediaType(u'audio/evrcwb'), '_citations': [RFC(5188)]},
 {'_': MediaType(u'audio/evrcwb0'), '_citations': [RFC(5188)]},
 {'_': MediaType(u'audio/evrcwb1'), '_citations': [RFC(5188)]},
 {'_': MediaType(u'audio/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'audio/fwdred'), '_citations': [RFC(6354)]},
 {'_': MediaType(u'audio/g711-0'), '_citations': [RFC(7655)]},
 {'_': MediaType(u'audio/g719'), '_citations': [RFC(5404)]},
 {'_': MediaType(u'audio/g7221'), '_citations': [RFC(5577)]},
 {'_': MediaType(u'audio/g722'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g723'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g726-16'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g726-24'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g726-32'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g726-40'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g728'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g729'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g7291'), '_citations': [RFC(4749), RFC(5459)]},
 {'_': MediaType(u'audio/g729d'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/g729e'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/gsm'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/gsm-efr'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/gsm-hr-08'), '_citations': [RFC(5993)]},
 {'_': MediaType(u'audio/ilbc'), '_citations': [RFC(3952)]},
 {'_': MediaType(u'audio/ip-mr_v2.5'), '_citations': [RFC(6262)]},
 {'_': MediaType(u'audio/l8'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/l16'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/l20'), '_citations': [RFC(3190)]},
 {'_': MediaType(u'audio/l24'), '_citations': [RFC(3190)]},
 {'_': MediaType(u'audio/lpc'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/mobile-xmf'), '_citations': [RFC(4723)]},
 {'_': MediaType(u'audio/mpa'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'audio/mp4'), '_citations': [RFC(4337), RFC(6381)]},
 {'_': MediaType(u'audio/mp4a-latm'), '_citations': [RFC(6416)]},
 {'_': MediaType(u'audio/mpa-robust'), '_citations': [RFC(5219)]},
 {'_': MediaType(u'audio/mpeg'), '_citations': [RFC(3003)]},
 {'_': MediaType(u'audio/mpeg4-generic'),
  '_citations': [RFC(3640), RFC(5691), RFC(6295)]},
 {'_': MediaType(u'audio/ogg'), '_citations': [RFC(5334), RFC(7845)]},
 {'_': MediaType(u'audio/opus'), '_citations': [RFC(7587)]},
 {'_': MediaType(u'audio/parityfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'audio/pcma'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/pcma-wb'), '_citations': [RFC(5391)]},
 {'_': MediaType(u'audio/pcmu'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/pcmu-wb'), '_citations': [RFC(5391)]},
 {'_': MediaType(u'audio/qcelp'), '_citations': [RFC(3555), RFC(3625)]},
 {'_': MediaType(u'audio/raptorfec'), '_citations': [RFC(6682)]},
 {'_': MediaType(u'audio/red'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'audio/rtploopback'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'audio/rtp-midi'), '_citations': [RFC(6295)]},
 {'_': MediaType(u'audio/rtx'), '_citations': [RFC(4588)]},
 {'_': MediaType(u'audio/smv'), '_citations': [RFC(3558)]},
 {'_': MediaType(u'audio/smv0'), '_citations': [RFC(3558)]},
 {'_': MediaType(u'audio/smv-qcp'), '_citations': [RFC(3625)]},
 {'_': MediaType(u'audio/speex'), '_citations': [RFC(5574)]},
 {'_': MediaType(u'audio/t140c'), '_citations': [RFC(4351)]},
 {'_': MediaType(u'audio/t38'), '_citations': [RFC(4612)]},
 {'_': MediaType(u'audio/telephone-event'), '_citations': [RFC(4733)]},
 {'_': MediaType(u'audio/tone'), '_citations': [RFC(4733)]},
 {'_': MediaType(u'audio/uemclip'), '_citations': [RFC(5686)]},
 {'_': MediaType(u'audio/ulpfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'audio/vdvi'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'audio/vmr-wb'), '_citations': [RFC(4348), RFC(4424)]},
 {'_': MediaType(u'audio/vorbis'), '_citations': [RFC(5215)]},
 {'_': MediaType(u'audio/vorbis-config'), '_citations': [RFC(5215)]},
 {'_': MediaType(u'image/bmp'), '_citations': [RFC(7903)]},
 {'_': MediaType(u'image/emf'), '_citations': [RFC(7903)]},
 {'_': MediaType(u'image/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'image/fits'), '_citations': [RFC(4047)]},
 {'_': MediaType(u'image/g3fax'), '_citations': [RFC(1494)]},
 {'_': MediaType(u'image/gif'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'image/ief'), '_citations': [RFC(1314)]},
 {'_': MediaType(u'image/jp2'), '_citations': [RFC(3745)]},
 {'_': MediaType(u'image/jpeg'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'image/jpm'), '_citations': [RFC(3745)]},
 {'_': MediaType(u'image/jpx'), '_citations': [RFC(3745)]},
 {'_': MediaType(u'image/ktx'),
  '_citations': [Citation(None,
                          u'http://www.khronos.org/opengles/sdk/'
                          u'tools/KTX/file_format_spec/#mimeregistration')]},
 {'_': MediaType(u'image/svg+xml'),
  '_citations': [Citation(None, u'http://www.w3.org/TR/SVG/mimereg.html')]},
 {'_': MediaType(u'image/t38'), '_citations': [RFC(3362)]},
 {'_': MediaType(u'image/tiff'), '_citations': [RFC(3302)]},
 {'_': MediaType(u'image/tiff-fx'), '_citations': [RFC(3950)]},
 {'_': MediaType(u'image/wmf'), '_citations': [RFC(7903)]},
 {'_': MediaType(u'image/x-emf'),
  '_citations': [RFC(7903)],
  'deprecated': True},
 {'_': MediaType(u'image/x-wmf'),
  '_citations': [RFC(7903)],
  'deprecated': True},
 {'_': MediaType(u'message/cpim'), '_citations': [RFC(3862)]},
 {'_': MediaType(u'message/delivery-status'), '_citations': [RFC(1894)]},
 {'_': MediaType(u'message/disposition-notification'),
  '_citations': [RFC(3798)]},
 {'_': MediaType(u'message/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'message/external-body'),
  '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'message/feedback-report'), '_citations': [RFC(5965)]},
 {'_': MediaType(u'message/global'), '_citations': [RFC(6532)]},
 {'_': MediaType(u'message/global-delivery-status'),
  '_citations': [RFC(6533)]},
 {'_': MediaType(u'message/global-disposition-notification'),
  '_citations': [RFC(6533)]},
 {'_': MediaType(u'message/global-headers'), '_citations': [RFC(6533)]},
 {'_': MediaType(u'message/http'), '_citations': [RFC(7230)]},
 {'_': MediaType(u'message/imdn+xml'), '_citations': [RFC(5438)]},
 {'_': MediaType(u'message/news'),
  '_citations': [RFC(5537)],
  'deprecated': True},
 {'_': MediaType(u'message/partial'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'message/rfc822'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'message/s-http'), '_citations': [RFC(2660)]},
 {'_': MediaType(u'message/sip'), '_citations': [RFC(3261)]},
 {'_': MediaType(u'message/sipfrag'), '_citations': [RFC(3420)]},
 {'_': MediaType(u'message/tracking-status'), '_citations': [RFC(3886)]},
 {'_': MediaType(u'model/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'model/mesh'), '_citations': [RFC(2077)]},
 {'_': MediaType(u'model/vrml'), '_citations': [RFC(2077)]},
 {'_': MediaType(u'multipart/alternative'),
  '_citations': [RFC(2046), RFC(2045)]},
 {'_': MediaType(u'multipart/byteranges'),
  '_citations': [RFC(7233, appendix=('A',))]},
 {'_': MediaType(u'multipart/digest'), '_citations': [RFC(2046), RFC(2045)]},
 {'_': MediaType(u'multipart/encrypted'), '_citations': [RFC(1847)]},
 {'_': MediaType(u'multipart/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'multipart/form-data'), '_citations': [RFC(7578)]},
 {'_': MediaType(u'multipart/mixed'), '_citations': [RFC(2046), RFC(2045)]},
 {'_': MediaType(u'multipart/parallel'), '_citations': [RFC(2046), RFC(2045)]},
 {'_': MediaType(u'multipart/related'), '_citations': [RFC(2387)]},
 {'_': MediaType(u'multipart/report'), '_citations': [RFC(6522)]},
 {'_': MediaType(u'multipart/signed'), '_citations': [RFC(1847)]},
 {'_': MediaType(u'multipart/voice-message'), '_citations': [RFC(3801)]},
 {'_': MediaType(u'multipart/x-mixed-replace'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/'
                          u'html/iana.html#multipart/x-mixed-replace')]},
 {'_': MediaType(u'text/1d-interleaved-parityfec'), '_citations': [RFC(6015)]},
 {'_': MediaType(u'text/cache-manifest'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/'
                          u'html/iana.html#text/cache-manifest')]},
 {'_': MediaType(u'text/calendar'), '_citations': [RFC(5545)]},
 {'_': MediaType(u'text/css'), '_citations': [RFC(2318)]},
 {'_': MediaType(u'text/csv'), '_citations': [RFC(4180), RFC(7111)]},
 {'_': MediaType(u'text/directory'),
  '_citations': [RFC(2425), RFC(6350)],
  'deprecated': True},
 {'_': MediaType(u'text/dns'), '_citations': [RFC(4027)]},
 {'_': MediaType(u'text/ecmascript'),
  '_citations': [RFC(4329)],
  'deprecated': True},
 {'_': MediaType(u'text/encaprtp'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'text/enriched'), '_citations': [RFC(1896)]},
 {'_': MediaType(u'text/event-stream'),
  '_citations': [Citation(u'Server-Sent Events',
                          u'https://www.w3.org/TR/eventsource/'
                          u'#text-event-stream')],
  'patch': False},
 {'_': MediaType(u'text/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'text/fwdred'), '_citations': [RFC(6354)]},
 {'_': MediaType(u'text/grammar-ref-list'), '_citations': [RFC(6787)]},
 {'_': MediaType(u'text/html'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html/iana.html#text/html')],
  'patch': False},
 {'_': MediaType(u'text/javascript'),
  '_citations': [RFC(4329)],
  'deprecated': True},
 {'_': MediaType(u'text/markdown'), '_citations': [RFC(7763)]},
 {'_': MediaType(u'text/parameters'), '_citations': [RFC(7826)]},
 {'_': MediaType(u'text/parityfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'text/plain'),
  '_citations': [RFC(2046), RFC(3676), RFC(5147)],
  'patch': False},
 {'_': MediaType(u'text/raptorfec'), '_citations': [RFC(6682)]},
 {'_': MediaType(u'text/red'), '_citations': [RFC(4102)]},
 {'_': MediaType(u'text/rfc822-headers'), '_citations': [RFC(6522)]},
 {'_': MediaType(u'text/richtext'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'text/rtploopback'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'text/rtx'), '_citations': [RFC(4588)]},
 {'_': MediaType(u'text/sgml'), '_citations': [RFC(1874)]},
 {'_': MediaType(u'text/t140'), '_citations': [RFC(4103)]},
 {'_': MediaType(u'text/troff'), '_citations': [RFC(4263)]},
 {'_': MediaType(u'text/ulpfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'text/uri-list'), '_citations': [RFC(2483)]},
 {'_': MediaType(u'text/vcard'), '_citations': [RFC(6350)]},
 {'_': MediaType(u'text/xml'),
  '_citations': [RFC(7303)],
  'is_xml': True,
  'patch': False},
 {'_': MediaType(u'text/xml-external-parsed-entity'),
  '_citations': [RFC(7303)]},
 {'_': MediaType(u'video/1d-interleaved-parityfec'),
  '_citations': [RFC(6015)]},
 {'_': MediaType(u'video/3gpp'), '_citations': [RFC(3839), RFC(6381)]},
 {'_': MediaType(u'video/3gpp2'), '_citations': [RFC(4393), RFC(6381)]},
 {'_': MediaType(u'video/3gpp-tt'), '_citations': [RFC(4396)]},
 {'_': MediaType(u'video/bmpeg'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/bt656'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/celb'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/dv'), '_citations': [RFC(6469)]},
 {'_': MediaType(u'video/encaprtp'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'video/example'), '_citations': [RFC(4735)]},
 {'_': MediaType(u'video/h261'), '_citations': [RFC(4587)]},
 {'_': MediaType(u'video/h263'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/h263-1998'), '_citations': [RFC(4629)]},
 {'_': MediaType(u'video/h263-2000'), '_citations': [RFC(4629)]},
 {'_': MediaType(u'video/h264'), '_citations': [RFC(6184)]},
 {'_': MediaType(u'video/h264-rcdo'), '_citations': [RFC(6185)]},
 {'_': MediaType(u'video/h264-svc'), '_citations': [RFC(6190)]},
 {'_': MediaType(u'video/h265'), '_citations': [RFC(7798)]},
 {'_': MediaType(u'video/jpeg'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/jpeg2000'), '_citations': [RFC(5371), RFC(5372)]},
 {'_': MediaType(u'video/mj2'), '_citations': [RFC(3745)]},
 {'_': MediaType(u'video/mp1s'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/mp2p'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/mp2t'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/mp4'), '_citations': [RFC(4337), RFC(6381)]},
 {'_': MediaType(u'video/mp4v-es'), '_citations': [RFC(6416)]},
 {'_': MediaType(u'video/mpv'), '_citations': [RFC(3555)]},
 {'_': MediaType(u'video/mpeg'), '_citations': [RFC(2045), RFC(2046)]},
 {'_': MediaType(u'video/mpeg4-generic'), '_citations': [RFC(3640)]},
 {'_': MediaType(u'video/nv'), '_citations': [RFC(4856)]},
 {'_': MediaType(u'video/ogg'), '_citations': [RFC(5334), RFC(7845)]},
 {'_': MediaType(u'video/parityfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'video/pointer'), '_citations': [RFC(2862)]},
 {'_': MediaType(u'video/quicktime'), '_citations': [RFC(6381)]},
 {'_': MediaType(u'video/raptorfec'), '_citations': [RFC(6682)]},
 {'_': MediaType(u'video/raw'), '_citations': [RFC(4175)]},
 {'_': MediaType(u'video/rtploopback'), '_citations': [RFC(6849)]},
 {'_': MediaType(u'video/rtx'), '_citations': [RFC(4588)]},
 {'_': MediaType(u'video/smpte292m'), '_citations': [RFC(3497)]},
 {'_': MediaType(u'video/ulpfec'), '_citations': [RFC(5109)]},
 {'_': MediaType(u'video/vc1'), '_citations': [RFC(4425)]},
 {'_': MediaType(u'video/vp8'), '_citations': [RFC(7741)]},
], extra_info=['deprecated', 'is_json', 'is_xml', 'patch'])
known = KnownDict(CacheDirective, [
    {
        '_': CacheDirective(u'max-age'),
        '_citations': [RFC(7234, section=(5, 2))],
        '_no_sync': ['_citations'],
        'argument': REQUIRED,
        'argument_form': TOKEN_PREFERRED,
        'for_request': True,
        'for_response': True,
        'parser': rfc7234.delta_seconds
    },
    {
        '_': CacheDirective(u'max-stale'),
        '_citations': [RFC(7234, section=(5, 2, 1, 2))],
        'argument': OPTIONAL,
        'argument_form': TOKEN_PREFERRED,
        'for_request': True,
        'for_response': False,
        'parser': rfc7234.delta_seconds
    },
    {
        '_': CacheDirective(u'min-fresh'),
        '_citations': [RFC(7234, section=(5, 2, 1, 3))],
        'argument': REQUIRED,
        'argument_form': TOKEN_PREFERRED,
        'for_request': True,
        'for_response': False,
        'parser': rfc7234.delta_seconds
    },
    {
        '_': CacheDirective(u'must-revalidate'),
        '_citations': [RFC(7234, section=(5, 2, 2, 1))],
        'argument': NO,
        'for_request': False,
        'for_response': True
    },
    {
        '_': CacheDirective(u'no-cache'),
        '_citations': [RFC(7234, section=(5, 2))],
        '_no_sync': ['_citations'],
        'argument': OPTIONAL,
        'argument_form': QUOTED_STRING_PREFERRED,
        'for_request': True,
        'for_response': True,
        'parser': rfc7230.comma_list(rfc7230.field_name)
    },
    {
        '_': CacheDirective(u'no-store'),
        '_citations': [RFC(7234, section=(5, 2))],
        '_no_sync': ['_citations'],
        'argument': NO,
        'for_request': True,
        'for_response': True
    },
    {
        '_': CacheDirective(u'no-transform'),
        '_citations': [RFC(7234, section=(5, 2))],
        '_no_sync': ['_citations'],
        'argument': NO,
        'for_request': True,
        'for_response': True
    },
    {
        '_': CacheDirective(u'only-if-cached'),
        '_citations': [RFC(7234, section=(5, 2, 1, 7))],
        'argument': NO,
        'for_request': True,
        'for_response': False
    },
    {
        '_': CacheDirective(u'private'),
        '_citations': [RFC(7234, section=(5, 2, 2, 6))],
        'argument': OPTIONAL,
        'argument_form': QUOTED_STRING_PREFERRED,
        'for_request': False,
        'for_response': True,
        'parser': rfc7230.comma_list(rfc7230.field_name)
    },
    {
        '_': CacheDirective(u'proxy-revalidate'),
        '_citations': [RFC(7234, section=(5, 2, 2, 7))],
        'argument': NO,
        'for_request': False,
        'for_response': True
    },
    {
        '_': CacheDirective(u'public'),
        '_citations': [RFC(7234, section=(5, 2, 2, 5))],
        'argument': NO,
        'for_request': False,
        'for_response': True
    },
    {
        '_': CacheDirective(u's-maxage'),
        '_citations': [RFC(7234, section=(5, 2, 2, 9))],
        'argument': REQUIRED,
        'argument_form': TOKEN_PREFERRED,
        'for_request': False,
        'for_response': True,
        'parser': rfc7234.delta_seconds
    },
    {
        '_': CacheDirective(u'stale-if-error'),
        '_citations': [RFC(5861, section=(4, ))],
        'argument': REQUIRED,
        'for_request': True,
        'for_response': True,
        'parser': rfc7234.delta_seconds
    },
    {
        '_': CacheDirective(u'stale-while-revalidate'),
        '_citations': [RFC(5861, section=(3, ))],
        'argument': REQUIRED,
        'for_request': False,
        'for_response': True,
        'parser': rfc7234.delta_seconds
    },
],
                  extra_info=[
                      'argument', 'argument_form', 'for_request',
                      'for_response', 'parser'
                  ])
Exemple #3
0
known = KnownDict(
    FieldName,
    [
        {
            '_': FieldName(u'A-IM'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Accept'),
            '_citations': [RFC(7231, section=(5, 3, 2))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.Accept,
            'precondition': False,
            'proactive_conneg': True,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Accept-Additions'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Accept-Charset'),
            '_citations': [RFC(7231, section=(5, 3, 3))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.Accept_Charset,
            'precondition': False,
            'proactive_conneg': True,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Accept-Datetime'),
            '_citations': [RFC(7089)],
            'iana_status': 'informational'
        },
        {
            '_': FieldName(u'Accept-Encoding'),
            '_citations':
            [RFC(7231, section=(5, 3, 4)),
             RFC(7694, section=(3, ))],
            'for_request': True,
            'for_response': True,  # RFC 7694
            'iana_status': u'standard',
            'parser': rfc7231.Accept_Encoding,
            'precondition': False,
            'proactive_conneg': True,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Accept-Features'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Accept-Language'),
            '_citations': [RFC(7231, section=(5, 3, 5))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.Accept_Language,
            'precondition': False,
            'proactive_conneg': True,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Accept-Patch'),
            '_citations': [RFC(5789, section=(3, 1))],
            'for_request': False,
            'for_response': True,
            'parser': rfc5789.Accept_Patch,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Accept-Ranges'),
            '_citations': [RFC(7233, section=(2, 3))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7233.Accept_Ranges,
            'rule': SINGLE
        },
        {
            '_':
            FieldName(u'Access-Control'),
            '_citations': [
                Citation(u'W3C Web Application Formats Working Group',
                         u'http://www.w3.org/2006/appformats/')
            ],
            'iana_status':
            u'deprecated'
        },
        {
            '_':
            FieldName(u'Access-Control-Allow-Credentials'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-allow-credentials-'
                    u'response-header')
            ]
        },
        {
            '_':
            FieldName(u'Access-Control-Allow-Headers'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-allow-headers-response-header')
            ]
        },
        {
            '_':
            FieldName(u'Access-Control-Allow-Methods'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-allow-methods-response-header')
            ]
        },
        {
            '_':
            FieldName(u'Access-Control-Allow-Origin'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-allow-origin-response-header')
            ]
        },
        {
            '_':
            FieldName(u'Access-Control-Max-Age'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-max-age-response-header')
            ]
        },
        {
            '_':
            FieldName(u'Access-Control-Request-Method'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-request-method-request-header')
            ]
        },
        {
            '_':
            FieldName(u'Access-Control-Request-Headers'),
            '_no_sync': ['_citations'],
            '_citations': [
                Citation(
                    u'W3C Cross-Origin Resource Sharing',
                    u'https://www.w3.org/TR/cors/'
                    u'#access-control-request-headers-request-header')
            ]
        },
        {
            '_': FieldName(u'Age'),
            '_citations': [RFC(7234, section=(5, 1))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7234.Age,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Allow'),
            '_citations': [RFC(7231, section=(7, 4, 1))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7231.Allow,
            'rule': MULTI
        },
        {
            '_': FieldName(u'ALPN'),
            '_citations': [RFC(7639, section=(2, ))],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Alt-Svc'),
            '_citations': [RFC(7838, section=(3, ))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7838.Alt_Svc,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Alt-Used'),
            '_citations': [RFC(7838, section=(5, ))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7838.Alt_Used,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Alternates'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Apply-To-Redirect-Ref'),
            '_citations': [RFC(4437)]
        },
        {
            '_': FieldName(u'Authentication-Info'),
            '_citations': [RFC(7615, section=(3, ))],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Authorization'),
            '_citations': [RFC(7235, section=(4, 2))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7235.Authorization,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'C-Ext'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'C-Man'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'C-Opt'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'C-PEP'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'C-PEP-Info'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Cache-Control'),
            '_citations': [RFC(7234, section=(5, 2))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7234.Cache_Control,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'CalDAV-Timezones'),
            '_citations': [RFC(7809, section=(7, 1))],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Close'),
            '_citations': [RFC(7230, section=(8, 1))],
            'iana_status': 'reserved'
        },
        {
            '_': FieldName(u'Compliance'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Connection'),
            '_citations': [RFC(7230, section=(6, 1))],
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7230.Connection,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Content-Base'),
            '_citations': [RFC(2068), RFC(2616)],
            'iana_status': u'obsoleted'
        },
        {
            '_': FieldName(u'Content-Disposition'),
            '_citations': [RFC(6266, section=(4, ))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc6266.content_disposition,
            'representation_metadata': True,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Content-Encoding'),
            '_citations': [RFC(7231, section=(3, 1, 2, 2))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'iana_status': u'standard',
            'parser': rfc7231.Content_Encoding,
            'precondition': False,
            'proactive_conneg': False,
            'representation_metadata': True,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Content-ID'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Content-Language'),
            '_citations': [RFC(7231, section=(3, 1, 3, 2))],
            'bad_for_connection': True,
            'iana_status': u'standard',
            'parser': rfc7231.Content_Language,
            'precondition': False,
            'proactive_conneg': False,
            'representation_metadata': True,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Content-Length'),
            '_citations': [RFC(7230, section=(3, 3, 2))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7230.Content_Length,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Content-Location'),
            '_citations': [RFC(7231, section=(3, 1, 4, 2))],
            'iana_status': u'standard',
            'parser': rfc7231.Content_Location,
            'precondition': False,
            'proactive_conneg': False,
            'representation_metadata': True,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Content-MD5'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Content-Range'),
            '_citations': [RFC(7233, section=(4, 2))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7233.Content_Range,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Content-Script-Type'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Content-Style-Type'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Content-Transfer-Encoding'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Content-Type'),
            '_citations': [RFC(7231, section=(3, 1, 1, 5))],
            'bad_for_trailer': True,
            'iana_status': u'standard',
            'parser': rfc7231.Content_Type,
            'precondition': False,
            'proactive_conneg': False,
            'representation_metadata': True,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Content-Version'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Cookie'),
            '_citations': [RFC(6265)],
            'iana_status': u'standard',
            'precondition': False,
            'proactive_conneg': False
        },
        {
            '_': FieldName(u'Cookie2'),
            '_citations': [RFC(2965), RFC(6265)],
            'iana_status': u'obsoleted'
        },
        {
            '_': FieldName(u'Cost'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'DASL'),
            '_citations': [RFC(5323)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'DAV'),
            '_citations': [RFC(4918)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Date'),
            '_citations': [RFC(7231, section=(7, 1, 1, 2))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'precondition': False,
            'proactive_conneg': False,
            'parser': rfc7231.Date,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Default-Style'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Delta-Base'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Depth'),
            '_citations': [RFC(4918)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Derived-From'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Destination'),
            '_citations': [RFC(4918)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Differential-ID'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Digest'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'EDIINT-Features'),
            '_citations': [RFC(6017)]
        },
        {
            '_': FieldName(u'ETag'),
            '_citations': [RFC(7232, section=(2, 3))],
            'bad_for_connection': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7232.ETag,
            'representation_metadata': True,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Expect'),
            '_citations': [RFC(7231, section=(5, 1, 1))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.Expect,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Expires'),
            '_citations': [RFC(7234, section=(5, 3))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7234.Expires,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Ext'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Forwarded'),
            '_citations': [RFC(7239)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'From'),
            '_citations': [RFC(7231, section=(5, 5, 1))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            # I'm not parsing the full RFC 5322 ``mailbox``, not right now.
            'parser': None,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'GetProfile'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'HTTPolice-Silence'),
            'for_request': True,
            'for_response': True,
            'parser': internal.HTTPolice_Silence,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Hobareg'),
            '_citations': [RFC(7486, section=(6, 1, 1))],
            'iana_status': 'experimental'
        },
        {
            '_': FieldName(u'Host'),
            '_citations': [RFC(7230, section=(5, 4))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7230.Host,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'HTTP2-Settings'),
            '_citations': [RFC(7540, section=(3, 2, 1))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7540.HTTP2_Settings,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'IM'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'If'),
            '_citations': [RFC(4918, section=(10, 4))],
            'bad_for_trailer': True,
            'iana_status': u'standard',
            'precondition': True
        },
        {
            '_': FieldName(u'If-Match'),
            '_citations': [RFC(7232, section=(3, 1))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7232.If_Match,
            'precondition': True,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'If-Modified-Since'),
            '_citations': [RFC(7232, section=(3, 3))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7232.If_Modified_Since,
            'precondition': True,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'If-None-Match'),
            '_citations': [RFC(7232, section=(3, 2))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7232.If_None_Match,
            'precondition': True,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'If-Range'),
            '_citations': [RFC(7233, section=(3, 2))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7233.If_Range,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'If-Schedule-Tag-Match'),
            'bad_for_trailer': True,
            '_citations': [RFC(6638, section=(8, 3))],
            'iana_status': u'standard',
            'precondition': True
        },
        {
            '_': FieldName(u'If-Unmodified-Since'),
            '_citations': [RFC(7232, section=(3, 4))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7232.If_Unmodified_Since,
            'precondition': True,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Keep-Alive'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Label'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Last-Modified'),
            '_citations': [RFC(7232, section=(2, 2))],
            'bad_for_connection': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7232.Last_Modified,
            'representation_metadata': True,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Link'),
            '_citations': [RFC(5988, section=(5, ))],
            # Not sure if this makes any sense on requests.
            # With the ``anchor`` parameter, perhaps.
            # Leaving undefined for now.
            'for_request': None,
            'for_response': True,
            'parser': rfc5988.Link,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Location'),
            '_citations': [RFC(7231, section=(7, 1, 2))],
            'bad_for_trailer': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7231.Location,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Lock-Token'),
            '_citations': [RFC(4918)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Man'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Max-Forwards'),
            '_citations': [RFC(7231, section=(5, 1, 2))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.Max_Forwards,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Memento-Datetime'),
            '_citations': [RFC(7089)],
            'iana_status': 'informational'
        },
        {
            '_': FieldName(u'Message-ID'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Meter'),
            '_citations': [RFC(4229)]
        },
        {
            '_':
            FieldName(u'Method-Check'),
            '_citations': [
                Citation(u'W3C Web Application Formats Working Group',
                         u'http://www.w3.org/2006/appformats/')
            ],
            'iana_status':
            u'deprecated'
        },
        {
            '_':
            FieldName(u'Method-Check-Expires'),
            '_citations': [
                Citation(u'W3C Web Application Formats Working Group',
                         u'http://www.w3.org/2006/appformats/')
            ],
            'iana_status':
            u'deprecated'
        },
        {
            '_': FieldName(u'MIME-Version'),
            '_citations': [RFC(7231, appendix=('A', 1))],
            'iana_status': u'standard',
            'precondition': False,
            'proactive_conneg': False
        },
        {
            '_': FieldName(u'Negotiate'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Non-Compliance'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Opt'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Optional'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Ordering-Type'),
            '_citations': [RFC(4229)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Origin'),
            '_citations': [RFC(6454)],
            'iana_status': u'standard',
            'precondition': False,
            'proactive_conneg': False
        },
        {
            '_': FieldName(u'Overwrite'),
            '_citations': [RFC(4918)],
            'iana_status': u'standard',
            'precondition': True
        },
        {
            '_': FieldName(u'P3P'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'PEP'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'PICS-Label'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Pep-Info'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Position'),
            '_citations': [RFC(4229)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Pragma'),
            '_citations': [RFC(7234, section=(5, 4))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7234.Pragma,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Prefer'),
            '_citations': [RFC(7240)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Preference-Applied'),
            '_citations': [RFC(7240)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'ProfileObject'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Protocol'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Protocol-Info'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Protocol-Query'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Protocol-Request'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Proxy-Authenticate'),
            '_citations': [RFC(7235, section=(4, 3))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7235.Proxy_Authenticate,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Proxy-Authentication-Info'),
            '_citations': [RFC(7615, section=(4, ))],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Proxy-Authorization'),
            '_citations': [RFC(7235, section=(4, 4))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7235.Proxy_Authorization,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Proxy-Features'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Proxy-Instruction'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Public'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Public-Key-Pins'),
            '_citations': [RFC(7469)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Public-Key-Pins-Report-Only'),
            '_citations': [RFC(7469)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Range'),
            '_citations': [RFC(7233, section=(3, 1))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7233.Range,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Redirect-Ref'),
            '_citations': [RFC(4437)]
        },
        {
            '_': FieldName(u'Referer'),
            '_citations': [RFC(7231, section=(5, 5, 2))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.Referer,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_':
            FieldName(u'Referer-Root'),
            '_citations': [
                Citation(u'W3C Web Application Formats Working Group',
                         u'http://www.w3.org/2006/appformats/')
            ],
            'iana_status':
            u'deprecated'
        },
        {
            '_': FieldName(u'Resolution-Hint'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Resolver-Location'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Retry-After'),
            '_citations': [RFC(7231, section=(7, 1, 3))],
            'bad_for_trailer': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7231.Retry_After,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Safe'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Schedule-Reply'),
            '_citations': [RFC(6638)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Schedule-Tag'),
            '_citations': [RFC(6638)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Sec-WebSocket-Accept'),
            '_citations': [RFC(6455)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Sec-WebSocket-Extensions'),
            '_citations': [RFC(6455)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Sec-WebSocket-Key'),
            '_citations': [RFC(6455)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Sec-WebSocket-Protocol'),
            '_citations': [RFC(6455)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Sec-WebSocket-Version'),
            '_citations': [RFC(6455)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Security-Scheme'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Server'),
            '_citations': [RFC(7231, section=(7, 4, 2))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7231.Server,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Set-Cookie'),
            '_citations': [RFC(6265)],
            'iana_status': u'standard',
            'rule': SET_COOKIE
        },
        {
            '_': FieldName(u'Set-Cookie2'),
            '_citations': [RFC(2965), RFC(6265)],
            'iana_status': u'obsoleted'
        },
        {
            '_': FieldName(u'SetProfile'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'SLUG'),
            '_citations': [RFC(5023)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'SoapAction'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Status-URI'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Strict-Transport-Security'),
            '_citations': [RFC(6797, section=(6, 1))],
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc6797.Strict_Transport_Security,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'SubOK'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Subst'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Surrogate-Capability'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Surrogate-Control'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'TCN'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'TE'),
            '_citations': [RFC(7230, section=(4, 3))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7230.TE,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'TTL'),
            '_citations': [RFC(8030, section=(5, 2))],
            'iana_status': 'standard'
        },
        {
            '_': FieldName(u'Timeout'),
            '_citations': [RFC(4918)],
            'iana_status': u'standard'
        },
        {
            '_': FieldName(u'Title'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Topic'),
            '_citations': [RFC(8030, section=(5, 4))],
            'iana_status': 'standard'
        },
        {
            '_': FieldName(u'Trailer'),
            '_citations': [RFC(7230, section=(4, 4))],
            'bad_for_trailer': True,
            'iana_status': u'standard',
            'parser': rfc7230.Trailer,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Transfer-Encoding'),
            '_citations': [RFC(7230, section=(3, 3, 1))],
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7230.Transfer_Encoding,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'UA-Color'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'UA-Media'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'UA-Pixels'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'UA-Resolution'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'UA-Windowpixels'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'URI'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Upgrade'),
            '_citations': [RFC(7230, section=(6, 7))],
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7230.Upgrade,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Urgency'),
            '_citations': [RFC(8030, section=(5, 3))],
            'iana_status': 'standard'
        },
        {
            '_': FieldName(u'User-Agent'),
            '_citations': [RFC(7231, section=(5, 5, 3))],
            'for_request': True,
            'for_response': False,
            'iana_status': u'standard',
            'parser': rfc7231.User_Agent,
            'precondition': False,
            'proactive_conneg': False,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Variant-Vary'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Vary'),
            '_citations': [RFC(7231, section=(7, 1, 4))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7231.Vary,
            'rule': SINGLE
        },
        {
            '_': FieldName(u'Version'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Via'),
            '_citations': [RFC(7230, section=(5, 7, 1))],
            'bad_for_connection': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7230.Via,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        {
            '_': FieldName(u'WWW-Authenticate'),
            '_citations': [RFC(7235, section=(4, 1))],
            'bad_for_connection': True,
            'for_request': False,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7235.WWW_Authenticate,
            'rule': MULTI
        },
        {
            '_': FieldName(u'Want-Digest'),
            '_citations': [RFC(4229)]
        },
        {
            '_': FieldName(u'Warning'),
            '_citations': [RFC(7234, section=(5, 5))],
            'bad_for_connection': True,
            'bad_for_trailer': True,
            'for_request': True,
            'for_response': True,
            'iana_status': u'standard',
            'parser': rfc7234.Warning_,
            'precondition': False,
            'proactive_conneg': False,
            'rule': MULTI
        },
        # Any common "X-" prefixed headers should be included here,
        # even if there are no citations for them.
        # This is necessary for notice 1277 to work properly.
        # Many of these are taken from Wikipedia:
        # https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
        {
            '_': FieldName(u'X-ATT-DeviceId')
        },
        {
            '_': FieldName(u'X-Aspnet-Version')
        },
        {
            '_': FieldName(u'X-Content-Duration')
        },
        {
            '_': FieldName(u'X-Content-Security-Policy')
        },
        {
            '_': FieldName(u'X-Content-Type-Options')
        },
        {
            '_': FieldName(u'X-CSRF-Token')
        },
        {
            '_': FieldName(u'X-CSRFToken')
        },
        {
            '_':
            FieldName(u'X-Device-Accept'),
            '_citations': [
                Citation(u'W3C Mobile Web Best Practices Working Group',
                         u'http://www.w3.org/2005/MWI/BPWG/')
            ]
        },
        {
            '_':
            FieldName(u'X-Device-Accept-Charset'),
            '_citations': [
                Citation(u'W3C Mobile Web Best Practices Working Group',
                         u'http://www.w3.org/2005/MWI/BPWG/')
            ]
        },
        {
            '_':
            FieldName(u'X-Device-Accept-Encoding'),
            '_citations': [
                Citation(u'W3C Mobile Web Best Practices Working Group',
                         u'http://www.w3.org/2005/MWI/BPWG/')
            ]
        },
        {
            '_':
            FieldName(u'X-Device-Accept-Language'),
            '_citations': [
                Citation(u'W3C Mobile Web Best Practices Working Group',
                         u'http://www.w3.org/2005/MWI/BPWG/')
            ]
        },
        {
            '_':
            FieldName(u'X-Device-User-Agent'),
            '_citations': [
                Citation(u'W3C Mobile Web Best Practices Working Group',
                         u'http://www.w3.org/2005/MWI/BPWG/')
            ]
        },
        {
            '_': FieldName(u'X-Firefox-SPDY')
        },
        {
            '_': FieldName(u'X-Forwarded-For')
        },
        {
            '_': FieldName(u'X-Forwarded-Host')
        },
        {
            '_': FieldName(u'X-Forwarded-Proto')
        },
        {
            '_': FieldName(u'X-Frame-Options'),
            '_citations': [RFC(7034)],
            'iana_status': 'informational'
        },
        {
            '_': FieldName(u'X-GitHub-Request-ID')
        },
        {
            '_': FieldName(u'X-HTTP-Method-Override')
        },
        {
            '_': FieldName(u'X-Powered-By')
        },
        {
            '_': FieldName(u'X-Requested-With')
        },
        {
            '_': FieldName(u'X-UA-Compatible')
        },
        {
            '_': FieldName(u'X-UIDH')
        },
        {
            '_': FieldName(u'X-Varnish')
        },
        {
            '_': FieldName(u'X-Wap-Profile')
        },
        {
            '_': FieldName(u'X-WebKit-CSP')
        },
        {
            '_': FieldName(u'X-XSRF-Token')
        },
        {
            '_': FieldName(u'X-XSS-Protection')
        },
    ],
    extra_info=[
        'bad_for_connection', 'bad_for_trailer', 'for_request', 'for_response',
        'iana_status', 'parser', 'precondition', 'proactive_conneg',
        'representation_metadata', 'rule'
    ])
Exemple #4
0
known = KnownDict(ProductName, [
    {
        '_': ProductName(u'android-async-http'),
        'library': True
    },
    {
        '_': ProductName(u'Apache-HttpAsyncClient'),
        'library': True
    },
    {
        '_': ProductName(u'Apache-HttpClient'),
        'library': True
    },
    {
        '_': ProductName(u'CFNetwork'),
        'library': True
    },
    {
        '_': ProductName(u'Dalvik'),
        'library': True
    },
    {
        '_': ProductName(u'Darwin'),
        'library': True
    },
    {
        '_': ProductName(u'Go-http-client'),
        'library': True
    },
    {
        '_': ProductName(u'hyper'),
        'library': True
    },
    {
        '_': ProductName(u'Java'),
        'library': True
    },
    {
        '_': ProductName(u'libcurl'),
        'library': True
    },
    {
        '_': ProductName(u'libidn'),
        'library': True
    },
    {
        '_': ProductName(u'libsoup'),
        'library': True
    },
    {
        '_': ProductName(u'libwww-perl'),
        'library': True
    },
    {
        '_': ProductName(u'Linux'),
        'library': True
    },
    {
        '_': ProductName(u'lua-http'),
        'library': True
    },
    {
        '_': ProductName(u'nghttp2'),
        'library': True
    },
    {
        '_': ProductName(u'OpenSSL'),
        'library': True
    },
    {
        '_': ProductName(u'okhttp'),
        'library': True
    },
    {
        '_': ProductName(u'PHP'),
        'library': True
    },
    {
        '_': ProductName(u'php-requests'),
        'library': True
    },
    {
        '_': ProductName(u'PycURL'),
        'library': True
    },
    {
        '_': ProductName(u'PyPy'),
        'library': True
    },
    {
        '_': ProductName(u'python-requests'),
        'library': True
    },
    {
        '_': ProductName(u'Python-urllib'),
        'library': True
    },
    {
        '_': ProductName(u'zlib'),
        'library': True
    },
],
                  extra_info=['library'])
Exemple #5
0
# -*- coding: utf-8; -*-

from httpolice.citation import RFC, Citation
from httpolice.known.base import KnownDict
from httpolice.structure import ContentCoding


known = KnownDict(ContentCoding, [
 {'_': ContentCoding(u'br'), '_citations': [RFC(7932)]},
 {'_': ContentCoding(u'compress'),
  '_citations': [RFC(7230, section=(4, 2, 1))]},
 {'_': ContentCoding(u'deflate'),
  '_citations': [RFC(7230, section=(4, 2, 2))]},
 {'_': ContentCoding(u'exi'),
  '_citations': [Citation(u'W3C Recommendation: '
                          u'Efficient XML Interchange (EXI) Format',
                          u'http://www.w3.org/TR/exi/')]},
 {'_': ContentCoding(u'gzip'),
  '_citations': [RFC(7230, section=(4, 2, 3))]},
 {'_': ContentCoding(u'identity'),
  '_citations': [RFC(7231, section=(5, 3, 4))]},
 {'_': ContentCoding(u'pack200-gzip'),
  '_citations': [Citation(u'JSR 200: Network Transfer Format for Java',
                          u'http://www.jcp.org/en/jsr/detail?id=200')]},
 {'_': ContentCoding(u'x-compress'),
  '_citations': [RFC(7230, section=(4, 2, 1))]},
 {'_': ContentCoding(u'x-gzip'), '_citations': [RFC(7230, section=(4, 2, 3))]}
])
Exemple #6
0
known = KnownDict(
    StatusCode,
    [
        {
            '_': StatusCode(100),
            '_citations': [RFC(7231, section=(6, 2, 1))],
            '_title': u'Continue',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(101),
            '_citations': [RFC(7231, section=(6, 2, 2))],
            '_title': u'Switching Protocols',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(102),
            '_citations': [RFC(2518)],
            '_title': u'Processing'
        },
        {
            '_': StatusCode(200),
            '_citations': [RFC(7231, section=(6, 3, 1))],
            '_title': u'OK',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(201),
            '_citations': [RFC(7231, section=(6, 3, 2))],
            '_title': u'Created',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(202),
            '_citations': [RFC(7231, section=(6, 3, 3))],
            '_title': u'Accepted',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(203),
            '_citations': [RFC(7231, section=(6, 3, 4))],
            '_title': u'Non-Authoritative Information',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(204),
            '_citations': [RFC(7231, section=(6, 3, 5))],
            '_title': u'No Content',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(205),
            '_citations': [RFC(7231, section=(6, 3, 6))],
            '_title': u'Reset Content',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(206),
            '_citations': [RFC(7233, section=(4, 1))],
            '_title': u'Partial Content',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(207),
            '_citations': [RFC(4918)],
            '_title': u'Multi-Status'
        },
        {
            '_': StatusCode(208),
            '_citations': [RFC(5842)],
            '_title': u'Already Reported'
        },
        {
            '_': StatusCode(226),
            '_citations': [RFC(3229)],
            '_title': u'IM Used'
        },
        {
            '_': StatusCode(300),
            '_citations': [RFC(7231, section=(6, 4, 1))],
            '_title': u'Multiple Choices',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(301),
            '_citations': [RFC(7231, section=(6, 4, 2))],
            '_title': u'Moved Permanently',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(302),
            '_citations': [RFC(7231, section=(6, 4, 3))],
            '_title': u'Found',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(303),
            '_citations': [RFC(7231, section=(6, 4, 4))],
            '_title': u'See Other',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(304),
            '_citations': [RFC(7232, section=(4, 1))],
            '_title': u'Not Modified',
            # The cacheability story here is a complicated by the fact that
            # a cache can generate a 304 response out of a stored 200 response
            # (as in RFC 7234 section 4.3.2).
            # It's not clear to me whether an ``Age`` header
            # would make sense on such a response,
            # so let's not check it for now.
            'cacheable': None
        },
        {
            '_': StatusCode(305),
            '_citations': [RFC(7231, section=(6, 4, 5))],
            '_title': u'Use Proxy'
        },
        {
            '_': StatusCode(306),
            '_citations': [RFC(7231, section=(6, 4, 6))],
            '_title': u'(Unused)'
        },
        {
            '_': StatusCode(307),
            '_citations': [RFC(7231, section=(6, 4, 7))],
            '_title': u'Temporary Redirect',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(308),
            '_citations': [RFC(7538, section=(3, ))],
            '_title': u'Permanent Redirect',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(400),
            '_citations': [RFC(7231, section=(6, 5, 1))],
            '_title': u'Bad Request',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(401),
            '_citations': [RFC(7235, section=(3, 1))],
            '_title': u'Unauthorized',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(402),
            '_citations': [RFC(7231, section=(6, 5, 2))],
            '_title': u'Payment Required'
        },
        {
            '_': StatusCode(403),
            '_citations': [RFC(7231, section=(6, 5, 3))],
            '_title': u'Forbidden',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(404),
            '_citations': [RFC(7231, section=(6, 5, 4))],
            '_title': u'Not Found',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(405),
            '_citations': [RFC(7231, section=(6, 5, 5))],
            '_title': u'Method Not Allowed',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(406),
            '_citations': [RFC(7231, section=(6, 5, 6))],
            '_title': u'Not Acceptable',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(407),
            '_citations': [RFC(7235, section=(3, 2))],
            '_title': u'Proxy Authentication Required',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(408),
            '_citations': [RFC(7231, section=(6, 5, 7))],
            '_title': u'Request Timeout',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(409),
            '_citations': [RFC(7231, section=(6, 5, 8))],
            '_title': u'Conflict',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(410),
            '_citations': [RFC(7231, section=(6, 5, 9))],
            '_title': u'Gone',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(411),
            '_citations': [RFC(7231, section=(6, 5, 10))],
            '_title': u'Length Required',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(412),
            '_citations': [RFC(7232, section=(4, 2))],
            '_title': u'Precondition Failed',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(413),
            '_citations': [RFC(7231, section=(6, 5, 11))],
            '_title': u'Payload Too Large',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(414),
            '_citations': [RFC(7231, section=(6, 5, 12))],
            '_title': u'URI Too Long',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(415),
            '_citations':
            [RFC(7231, section=(6, 5, 13)),
             RFC(7694, section=(3, ))],
            '_title': u'Unsupported Media Type',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(416),
            '_citations': [RFC(7233, section=(4, 4))],
            '_title': u'Range Not Satisfiable',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(417),
            '_citations': [RFC(7231, section=(6, 5, 14))],
            '_title': u'Expectation Failed',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(421),
            '_citations': [RFC(7540, section=(9, 1, 2))],
            '_title': u'Misdirected Request'
        },
        {
            '_': StatusCode(422),
            '_citations': [RFC(4918, section=(11, 2))],
            '_title': u'Unprocessable Entity',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(423),
            '_citations': [RFC(4918, section=(11, 3))],
            '_title': u'Locked',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(424),
            '_citations': [RFC(4918, section=(11, 4))],
            '_title': u'Failed Dependency',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(426),
            '_citations': [RFC(7231, section=(6, 5, 15))],
            '_title': u'Upgrade Required',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(428),
            '_citations': [RFC(6585, section=(3, ))],
            '_title': u'Precondition Required',
            'cacheable': NOT_AT_ALL
        },
        {
            '_': StatusCode(429),
            '_citations': [RFC(6585, section=(4, ))],
            '_title': u'Too Many Requests',
            'cacheable': NOT_AT_ALL
        },
        {
            '_': StatusCode(431),
            '_citations': [RFC(6585, section=(5, ))],
            '_title': u'Request Header Fields Too Large',
            'cacheable': NOT_AT_ALL
        },
        {
            '_': StatusCode(451),
            '_citations': [RFC(7725, section=(3, ))],
            '_title': u'Unavailable For Legal Reasons',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(500),
            '_citations': [RFC(7231, section=(6, 6, 1))],
            '_title': u'Internal Server Error',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(501),
            '_citations': [RFC(7231, section=(6, 6, 2))],
            '_title': u'Not Implemented',
            'cacheable': BY_DEFAULT
        },
        {
            '_': StatusCode(502),
            '_citations': [RFC(7231, section=(6, 6, 3))],
            '_title': u'Bad Gateway',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(503),
            '_citations': [RFC(7231, section=(6, 6, 4))],
            '_title': u'Service Unavailable',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(504),
            '_citations': [RFC(7231, section=(6, 6, 5))],
            '_title': u'Gateway Timeout',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(505),
            '_citations': [RFC(7231, section=(6, 6, 6))],
            '_title': u'HTTP Version Not Supported',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(506),
            '_citations': [RFC(2295)],
            '_title': u'Variant Also Negotiates'
        },
        {
            '_': StatusCode(507),
            '_citations': [RFC(4918, section=(11, 5))],
            '_title': u'Insufficient Storage',
            'cacheable': NOT_BY_DEFAULT
        },
        {
            '_': StatusCode(508),
            '_citations': [RFC(5842)],
            '_title': u'Loop Detected'
        },
        {
            '_': StatusCode(510),
            '_citations': [RFC(2774)],
            '_title': u'Not Extended'
        },
        {
            '_': StatusCode(511),
            '_citations': [RFC(6585, section=(6, ))],
            '_title': u'Network Authentication Required',
            'cacheable': NOT_AT_ALL
        }
    ],
    name_from_title=True,
    extra_info=['cacheable'])
Exemple #7
0
# -*- coding: utf-8; -*-

from httpolice.citation import RFC
from httpolice.known.base import KnownDict
from httpolice.structure import UpgradeToken

known = KnownDict(
    UpgradeToken, [{
        '_': UpgradeToken(u'HTTP'),
        '_citations': [RFC(7230, section=(2, 6))],
        '_title': u'Hypertext Transfer Protocol'
    }, {
        '_': UpgradeToken(u'TLS'),
        '_citations': [RFC(2817)],
        '_title': u'Transport Layer Security'
    }, {
        '_': UpgradeToken(u'WebSocket'),
        '_citations': [RFC(6455)],
        '_title': u'The Web Socket Protocol'
    }, {
        '_': UpgradeToken(u'h2c'),
        '_citations': [RFC(7540, section=(3, 2))],
        '_title': u'Hypertext Transfer Protocol version 2 (HTTP/2)'
    }])
Exemple #8
0
# -*- coding: utf-8; -*-

from httpolice.citation import RFC
from httpolice.known.base import KnownDict
from httpolice.structure import AltSvcParam
from httpolice.syntax import rfc7838


def parser_for(name):
    return known.get_info(name).get('parser')


known = KnownDict(AltSvcParam, [{
    '_': AltSvcParam(u'ma'),
    '_citations': [RFC(7838, section=(3, 1))],
    'parser': rfc7838.ma
}, {
    '_': AltSvcParam(u'persist'),
    '_citations': [RFC(7838, section=(3, 1))],
    'parser': rfc7838.persist
}],
                  extra_info=['parser'])
Exemple #9
0
OPTIONAL = 1
REQUIRED = 2


def argument_required(name):
    return known.get_info(name).get('argument') == REQUIRED


def no_argument(name):
    return known.get_info(name).get('argument') == NO


def parser_for(name):
    return known.get_info(name).get('parser')


known = KnownDict(HSTSDirective, [
    {
        '_': HSTSDirective(u'includeSubDomains'),
        '_citations': [RFC(6797, section=(6, 1, 2))],
        'argument': NO
    },
    {
        '_': HSTSDirective(u'max-age'),
        '_citations': [RFC(6797, section=(6, 1, 1))],
        'argument': REQUIRED,
        'parser': rfc6797.max_age_value
    },
],
                  extra_info=['argument', 'parser'])
Exemple #10
0
from httpolice.known.base import KnownDict
from httpolice.structure import Preference
from httpolice.syntax import rfc7240


NO = 0
OPTIONAL = 1
REQUIRED = 2


def argument_required(name):
    return known.get_info(name).get('argument') == REQUIRED

def no_argument(name):
    return known.get_info(name).get('argument') == NO

def parser_for(name):
    return known.get_info(name).get('parser')


known = KnownDict(Preference, [
 {'_': Preference(u'handling'), '_citations': [RFC(7240, section=(4, 4))],
  'argument': REQUIRED, 'parser': rfc7240.handling},
 {'_': Preference(u'respond-async'), '_citations': [RFC(7240, section=(4, 1))],
  'argument': NO},
 {'_': Preference(u'return'), '_citations': [RFC(7240, section=(4, 2))],
  'argument': REQUIRED, 'parser': rfc7240.return_},
 {'_': Preference(u'wait'), '_citations': [RFC(7240, section=(4, 3))],
  'argument': REQUIRED, 'parser': rfc7240.wait}
], extra_info=['argument', 'parser'])
Exemple #11
0
known = KnownDict(RelationType, [
 {'_': RelationType(u'about'), '_citations': [RFC(6903, section=(2,))]},
 {'_': RelationType(u'alternate'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-alternate')]},
 {'_': RelationType(u'appendix'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'archives'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/2011/'
                          u'WD-html5-20110113/links.html#rel-archives')]},
 {'_': RelationType(u'author'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-author')]},
 {'_': RelationType(u'blocked-by'), '_citations': [RFC(7725, section=(4,))]},
 {'_': RelationType(u'bookmark'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-bookmark')]},
 {'_': RelationType(u'canonical'), '_citations': [RFC(6596)]},
 {'_': RelationType(u'chapter'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'collection'), '_citations': [RFC(6573)]},
 {'_': RelationType(u'contents'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'convertedFrom'), '_citations': [RFC(7991)]},
 {'_': RelationType(u'copyright'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'create-form'), '_citations': [RFC(6861)]},
 {'_': RelationType(u'current'), '_citations': [RFC(5005)]},
 {'_': RelationType(u'derivedfrom'), '_citations': []},
 {'_': RelationType(u'describedby'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/powder-dr/#assoc-linking')]},
 {'_': RelationType(u'describes'), '_citations': [RFC(6892)]},
 {'_': RelationType(u'disclosure'), '_citations': [RFC(6579)]},
 {'_': RelationType(u'dns-prefetch'),
  '_citations': [Citation(None, 'https://www.w3.org/TR/resource-hints/')]},
 {'_': RelationType(u'duplicate'), '_citations': [RFC(6249)]},
 {'_': RelationType(u'edit'), '_citations': [RFC(5023)]},
 {'_': RelationType(u'edit-form'), '_citations': [RFC(6861)]},
 {'_': RelationType(u'edit-media'), '_citations': [RFC(5023)]},
 {'_': RelationType(u'enclosure'), '_citations': [RFC(4287)]},
 {'_': RelationType(u'first'), '_citations': [RFC(5988)]},
 {'_': RelationType(u'glossary'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'help'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-help')]},
 {'_': RelationType(u'hosts'), '_citations': [RFC(6690)]},
 {'_': RelationType(u'hub'),
  '_citations': [Citation(None, 'http://pubsubhubbub.googlecode.com')]},
 {'_': RelationType(u'icon'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-icon')]},
 {'_': RelationType(u'index'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'item'), '_citations': [RFC(6573)]},
 {'_': RelationType(u'last'), '_citations': [RFC(5988)]},
 {'_': RelationType(u'latest-version'), '_citations': [RFC(5829)]},
 {'_': RelationType(u'license'), '_citations': [RFC(4946)]},
 {'_': RelationType(u'lrdd'), '_citations': [RFC(6415)]},
 {'_': RelationType(u'memento'), '_citations': [RFC(7089)]},
 {'_': RelationType(u'monitor'), '_citations': [RFC(5989)]},
 {'_': RelationType(u'monitor-group'), '_citations': [RFC(5989)]},
 {'_': RelationType(u'next'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-next')]},
 {'_': RelationType(u'next-archive'), '_citations': [RFC(5005)]},
 {'_': RelationType(u'nofollow'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-nofollow')]},
 {'_': RelationType(u'noreferrer'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-noreferrer')]},
 {'_': RelationType(u'original'), '_citations': [RFC(7089)]},
 {'_': RelationType(u'payment'), '_citations': [RFC(5988)]},
 {'_': RelationType(u'pingback'),
  '_citations': [Citation(None,
                          u'http://www.hixie.ch/specs/pingback/pingback')]},
 {'_': RelationType(u'preconnect'),
  '_citations': [Citation(None, 'https://www.w3.org/TR/resource-hints/')]},
 {'_': RelationType(u'predecessor-version'), '_citations': [RFC(5829)]},
 {'_': RelationType(u'prefetch'),
  '_citations': [Citation(None, 'http://www.w3.org/TR/resource-hints/')]},
 {'_': RelationType(u'preload'),
  '_citations': [Citation(None, 'http://www.w3.org/TR/preload/')]},
 {'_': RelationType(u'prerender'),
  '_citations': [Citation(None, 'https://www.w3.org/TR/resource-hints/')]},
 {'_': RelationType(u'prev'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-prev')]},
 {'_': RelationType(u'preview'), '_citations': [RFC(6903, section=(3,))]},
 {'_': RelationType(u'previous'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'prev-archive'), '_citations': [RFC(5005)]},
 {'_': RelationType(u'privacy-policy'),
  '_citations': [RFC(6903, section=(4,))]},
 {'_': RelationType(u'profile'), '_citations': [RFC(6906)]},
 {'_': RelationType(u'related'), '_citations': [RFC(4287)]},
 {'_': RelationType(u'replies'), '_citations': [RFC(4685)]},
 {'_': RelationType(u'search'),
  '_citations': [Citation(None,
                          u'http://www.opensearch.org/Specifications/'
                          u'OpenSearch/1.1')]},
 {'_': RelationType(u'section'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'self'), '_citations': [RFC(4287)]},
 {'_': RelationType(u'service'), '_citations': [RFC(5023)]},
 {'_': RelationType(u'start'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'stylesheet'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-stylesheet')]},
 {'_': RelationType(u'subsection'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/1999/REC-html401-19991224')]},
 {'_': RelationType(u'successor-version'), '_citations': [RFC(5829)]},
 {'_': RelationType(u'tag'),
  '_citations': [Citation(None,
                          u'http://www.w3.org/TR/html5/links.html'
                          u'#link-type-tag')]},
 {'_': RelationType(u'terms-of-service'),
  '_citations': [RFC(6903, section=(5,))]},
 {'_': RelationType(u'timegate'), '_citations': [RFC(7089)]},
 {'_': RelationType(u'timemap'), '_citations': [RFC(7089)]},
 {'_': RelationType(u'type'), '_citations': [RFC(6903, section=(6,))]},
 {'_': RelationType(u'up'), '_citations': [RFC(5988)]},
 {'_': RelationType(u'version-history'), '_citations': [RFC(5829)]},
 {'_': RelationType(u'via'), '_citations': [RFC(4287)]},
 {'_': RelationType(u'webmention'),
  '_citations': [Citation(None, u'http://www.w3.org/TR/webmention/')]},
 {'_': RelationType(u'working-copy'), '_citations': [RFC(5829)]},
 {'_': RelationType(u'working-copy-of'), '_citations': [RFC(5829)]},
 ])
Exemple #12
0
from httpolice.citation import RFC
from httpolice.known.base import KnownDict
from httpolice.structure import AuthScheme

known = KnownDict(AuthScheme, [{
    '_': AuthScheme(u'Basic'),
    '_citations': [RFC(7617)]
}, {
    '_': AuthScheme(u'Bearer'),
    '_citations': [RFC(6750)]
}, {
    '_': AuthScheme(u'Digest'),
    '_citations': [RFC(7616)]
}, {
    '_': AuthScheme(u'HOBA'),
    '_citations': [RFC(7486, section=(3, ))]
}, {
    '_': AuthScheme(u'Negotiate'),
    '_citations': [RFC(4559, section=(3, ))]
}, {
    '_': AuthScheme(u'OAuth'),
    '_citations': [RFC(5849, section=(3, 5, 1))]
}, {
    '_': AuthScheme(u'SCRAM-SHA-1'),
    '_citations': [RFC(7804)]
}, {
    '_': AuthScheme(u'SCRAM-SHA-256'),
    '_citations': [RFC(7804)]
}])
Exemple #13
0
known = KnownDict(WarnCode, [
    {
        '_': WarnCode(110),
        '_citations': [RFC(7234, section=(5, 5, 1))],
        '_title': u'Response is Stale'
    },
    {
        '_': WarnCode(111),
        '_citations': [RFC(7234, section=(5, 5, 2))],
        '_title': u'Revalidation Failed'
    },
    {
        '_': WarnCode(112),
        '_citations': [RFC(7234, section=(5, 5, 3))],
        '_title': u'Disconnected Operation'
    },
    {
        '_': WarnCode(113),
        '_citations': [RFC(7234, section=(5, 5, 4))],
        '_title': u'Heuristic Expiration'
    },
    {
        '_': WarnCode(199),
        '_citations': [RFC(7234, section=(5, 5, 5))],
        '_title': u'Miscellaneous Warning'
    },
    {
        '_': WarnCode(214),
        '_citations': [RFC(7234, section=(5, 5, 6))],
        '_title': u'Transformation Applied'
    },
    {
        '_': WarnCode(299),
        '_citations': [RFC(7234, section=(5, 5, 7))],
        '_title': u'Miscellaneous Persistent Warning'
    },
],
                  name_from_title=True)
Exemple #14
0
# -*- coding: utf-8; -*-

from httpolice.citation import RFC
from httpolice.known.base import KnownDict
from httpolice.structure import RangeUnit

known = KnownDict(RangeUnit, [
    {
        '_': RangeUnit(u'bytes'),
        '_citations': [RFC(7233, section=(2, 1))]
    },
    {
        '_': RangeUnit(u'none'),
        '_no_sync': True
    },
])