@sapphire/plugin-api 7.0.0-next.d27dc1c → 7.0.0-next.e30dbc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +0 -1
  2. package/dist/cjs/index.cjs +17 -10
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/cjs/index.d.cts +264 -156
  5. package/dist/cjs/lib/structures/Augmentations.d.cjs +1 -1
  6. package/dist/cjs/lib/structures/Augmentations.d.cjs.map +1 -1
  7. package/dist/cjs/lib/structures/MediaParser.cjs +1 -1
  8. package/dist/cjs/lib/structures/MediaParser.cjs.map +1 -1
  9. package/dist/cjs/lib/structures/MediaParserStore.cjs +1 -1
  10. package/dist/cjs/lib/structures/MediaParserStore.cjs.map +1 -1
  11. package/dist/cjs/lib/structures/Middleware.cjs +2 -2
  12. package/dist/cjs/lib/structures/Middleware.cjs.map +1 -1
  13. package/dist/cjs/lib/structures/MiddlewareStore.cjs +4 -4
  14. package/dist/cjs/lib/structures/MiddlewareStore.cjs.map +1 -1
  15. package/dist/cjs/lib/structures/Route.cjs +18 -35
  16. package/dist/cjs/lib/structures/Route.cjs.map +1 -1
  17. package/dist/cjs/lib/structures/RouteLoaderStrategy.cjs +20 -0
  18. package/dist/cjs/lib/structures/RouteLoaderStrategy.cjs.map +1 -0
  19. package/dist/cjs/lib/structures/RouteStore.cjs +6 -44
  20. package/dist/cjs/lib/structures/RouteStore.cjs.map +1 -1
  21. package/dist/cjs/lib/structures/api/ApiRequest.cjs +27 -1
  22. package/dist/cjs/lib/structures/api/ApiRequest.cjs.map +1 -1
  23. package/dist/cjs/lib/structures/api/ApiResponse.cjs +12 -7
  24. package/dist/cjs/lib/structures/api/ApiResponse.cjs.map +1 -1
  25. package/dist/cjs/lib/structures/api/CookieStore.cjs +4 -4
  26. package/dist/cjs/lib/structures/api/CookieStore.cjs.map +1 -1
  27. package/dist/cjs/lib/structures/http/Auth.cjs +2 -2
  28. package/dist/cjs/lib/structures/http/Auth.cjs.map +1 -1
  29. package/dist/cjs/lib/structures/http/HttpCodes.cjs +1 -1
  30. package/dist/cjs/lib/structures/http/HttpCodes.cjs.map +1 -1
  31. package/dist/cjs/lib/structures/http/HttpMethods.cjs +38 -7
  32. package/dist/cjs/lib/structures/http/HttpMethods.cjs.map +1 -1
  33. package/dist/cjs/lib/structures/http/Server.cjs +16 -15
  34. package/dist/cjs/lib/structures/http/Server.cjs.map +1 -1
  35. package/dist/cjs/lib/structures/router/RouterBranch.cjs +184 -0
  36. package/dist/cjs/lib/structures/router/RouterBranch.cjs.map +1 -0
  37. package/dist/cjs/lib/structures/router/RouterNode.cjs +67 -0
  38. package/dist/cjs/lib/structures/router/RouterNode.cjs.map +1 -0
  39. package/dist/cjs/lib/structures/router/RouterRoot.cjs +71 -0
  40. package/dist/cjs/lib/structures/router/RouterRoot.cjs.map +1 -0
  41. package/dist/cjs/lib/utils/MimeType.cjs +4 -0
  42. package/dist/cjs/lib/utils/MimeType.cjs.map +1 -0
  43. package/dist/cjs/listeners/PluginRouteError.cjs +3 -3
  44. package/dist/cjs/listeners/PluginRouteError.cjs.map +1 -1
  45. package/dist/cjs/listeners/PluginServerMiddlewareError.cjs +3 -3
  46. package/dist/cjs/listeners/PluginServerMiddlewareError.cjs.map +1 -1
  47. package/dist/cjs/listeners/PluginServerMiddlewareSuccess.cjs +5 -5
  48. package/dist/cjs/listeners/PluginServerMiddlewareSuccess.cjs.map +1 -1
  49. package/dist/cjs/listeners/PluginServerRequest.cjs +42 -8
  50. package/dist/cjs/listeners/PluginServerRequest.cjs.map +1 -1
  51. package/dist/cjs/listeners/{PluginServerMatch.cjs → PluginServerRouterBranchMethodNotAllowed.cjs} +5 -10
  52. package/dist/cjs/listeners/PluginServerRouterBranchMethodNotAllowed.cjs.map +1 -0
  53. package/dist/cjs/listeners/{PluginServerNoMatch.cjs → PluginServerRouterBranchNotFound.cjs} +3 -3
  54. package/dist/cjs/listeners/PluginServerRouterBranchNotFound.cjs.map +1 -0
  55. package/dist/cjs/listeners/PluginServerRouterFound.cjs +22 -0
  56. package/dist/cjs/listeners/PluginServerRouterFound.cjs.map +1 -0
  57. package/dist/cjs/listeners/_load.cjs +7 -5
  58. package/dist/cjs/listeners/_load.cjs.map +1 -1
  59. package/dist/cjs/mediaParsers/_load.cjs +1 -1
  60. package/dist/cjs/mediaParsers/_load.cjs.map +1 -1
  61. package/dist/cjs/mediaParsers/applicationFormUrlEncoded.cjs +2 -3
  62. package/dist/cjs/mediaParsers/applicationFormUrlEncoded.cjs.map +1 -1
  63. package/dist/cjs/mediaParsers/applicationJson.cjs +2 -3
  64. package/dist/cjs/mediaParsers/applicationJson.cjs.map +1 -1
  65. package/dist/cjs/mediaParsers/textPlain.cjs +2 -3
  66. package/dist/cjs/mediaParsers/textPlain.cjs.map +1 -1
  67. package/dist/cjs/middlewares/_load.cjs +1 -1
  68. package/dist/cjs/middlewares/_load.cjs.map +1 -1
  69. package/dist/cjs/middlewares/auth.cjs +2 -2
  70. package/dist/cjs/middlewares/auth.cjs.map +1 -1
  71. package/dist/cjs/middlewares/body.cjs +6 -5
  72. package/dist/cjs/middlewares/body.cjs.map +1 -1
  73. package/dist/cjs/middlewares/cookies.cjs +1 -1
  74. package/dist/cjs/middlewares/cookies.cjs.map +1 -1
  75. package/dist/cjs/middlewares/headers.cjs +19 -9
  76. package/dist/cjs/middlewares/headers.cjs.map +1 -1
  77. package/dist/cjs/register.cjs +1 -1
  78. package/dist/cjs/register.cjs.map +1 -1
  79. package/dist/cjs/routes/_load.cjs +5 -5
  80. package/dist/cjs/routes/_load.cjs.map +1 -1
  81. package/dist/cjs/routes/oauth/{callback.cjs → callback.post.cjs} +5 -6
  82. package/dist/cjs/routes/oauth/callback.post.cjs.map +1 -0
  83. package/dist/cjs/routes/oauth/{logout.cjs → logout.post.cjs} +6 -8
  84. package/dist/cjs/routes/oauth/logout.post.cjs.map +1 -0
  85. package/dist/esm/{chunk-JTFKMR4I.mjs → chunk-S573YWRP.mjs} +4 -3
  86. package/dist/esm/chunk-S573YWRP.mjs.map +1 -0
  87. package/dist/esm/index.d.mts +264 -156
  88. package/dist/esm/index.mjs +6 -5
  89. package/dist/esm/index.mjs.map +1 -1
  90. package/dist/esm/lib/structures/Augmentations.d.mjs +1 -1
  91. package/dist/esm/lib/structures/Augmentations.d.mjs.map +1 -1
  92. package/dist/esm/lib/structures/MediaParser.mjs +2 -2
  93. package/dist/esm/lib/structures/MediaParser.mjs.map +1 -1
  94. package/dist/esm/lib/structures/MediaParserStore.mjs +2 -2
  95. package/dist/esm/lib/structures/MediaParserStore.mjs.map +1 -1
  96. package/dist/esm/lib/structures/Middleware.mjs +2 -2
  97. package/dist/esm/lib/structures/Middleware.mjs.map +1 -1
  98. package/dist/esm/lib/structures/MiddlewareStore.mjs +4 -4
  99. package/dist/esm/lib/structures/MiddlewareStore.mjs.map +1 -1
  100. package/dist/esm/lib/structures/Route.mjs +19 -36
  101. package/dist/esm/lib/structures/Route.mjs.map +1 -1
  102. package/dist/esm/lib/structures/RouteLoaderStrategy.mjs +17 -0
  103. package/dist/esm/lib/structures/RouteLoaderStrategy.mjs.map +1 -0
  104. package/dist/esm/lib/structures/RouteStore.mjs +6 -44
  105. package/dist/esm/lib/structures/RouteStore.mjs.map +1 -1
  106. package/dist/esm/lib/structures/api/ApiRequest.mjs +28 -2
  107. package/dist/esm/lib/structures/api/ApiRequest.mjs.map +1 -1
  108. package/dist/esm/lib/structures/api/ApiResponse.mjs +12 -7
  109. package/dist/esm/lib/structures/api/ApiResponse.mjs.map +1 -1
  110. package/dist/esm/lib/structures/api/CookieStore.mjs +5 -5
  111. package/dist/esm/lib/structures/api/CookieStore.mjs.map +1 -1
  112. package/dist/esm/lib/structures/http/Auth.mjs +2 -2
  113. package/dist/esm/lib/structures/http/Auth.mjs.map +1 -1
  114. package/dist/esm/lib/structures/http/HttpCodes.mjs +2 -2
  115. package/dist/esm/lib/structures/http/HttpCodes.mjs.map +1 -1
  116. package/dist/esm/lib/structures/http/HttpMethods.mjs +40 -6
  117. package/dist/esm/lib/structures/http/HttpMethods.mjs.map +1 -1
  118. package/dist/esm/lib/structures/http/Server.mjs +17 -16
  119. package/dist/esm/lib/structures/http/Server.mjs.map +1 -1
  120. package/dist/esm/lib/structures/router/RouterBranch.mjs +179 -0
  121. package/dist/esm/lib/structures/router/RouterBranch.mjs.map +1 -0
  122. package/dist/esm/lib/structures/router/RouterNode.mjs +56 -0
  123. package/dist/esm/lib/structures/router/RouterNode.mjs.map +1 -0
  124. package/dist/esm/lib/structures/router/RouterRoot.mjs +68 -0
  125. package/dist/esm/lib/structures/router/RouterRoot.mjs.map +1 -0
  126. package/dist/esm/lib/utils/MimeType.mjs +3 -0
  127. package/dist/esm/lib/utils/MimeType.mjs.map +1 -0
  128. package/dist/esm/listeners/PluginRouteError.mjs +5 -5
  129. package/dist/esm/listeners/PluginRouteError.mjs.map +1 -1
  130. package/dist/esm/listeners/PluginServerMiddlewareError.mjs +5 -5
  131. package/dist/esm/listeners/PluginServerMiddlewareError.mjs.map +1 -1
  132. package/dist/esm/listeners/PluginServerMiddlewareSuccess.mjs +7 -7
  133. package/dist/esm/listeners/PluginServerMiddlewareSuccess.mjs.map +1 -1
  134. package/dist/esm/listeners/PluginServerRequest.mjs +38 -10
  135. package/dist/esm/listeners/PluginServerRequest.mjs.map +1 -1
  136. package/dist/esm/listeners/PluginServerRouterBranchMethodNotAllowed.mjs +18 -0
  137. package/dist/esm/listeners/PluginServerRouterBranchMethodNotAllowed.mjs.map +1 -0
  138. package/dist/esm/listeners/{PluginServerNoMatch.mjs → PluginServerRouterBranchNotFound.mjs} +5 -5
  139. package/dist/esm/listeners/PluginServerRouterBranchNotFound.mjs.map +1 -0
  140. package/dist/esm/listeners/PluginServerRouterFound.mjs +19 -0
  141. package/dist/esm/listeners/PluginServerRouterFound.mjs.map +1 -0
  142. package/dist/esm/listeners/_load.mjs +14 -12
  143. package/dist/esm/listeners/_load.mjs.map +1 -1
  144. package/dist/esm/mediaParsers/_load.mjs +2 -2
  145. package/dist/esm/mediaParsers/_load.mjs.map +1 -1
  146. package/dist/esm/mediaParsers/applicationFormUrlEncoded.mjs +3 -4
  147. package/dist/esm/mediaParsers/applicationFormUrlEncoded.mjs.map +1 -1
  148. package/dist/esm/mediaParsers/applicationJson.mjs +3 -4
  149. package/dist/esm/mediaParsers/applicationJson.mjs.map +1 -1
  150. package/dist/esm/mediaParsers/textPlain.mjs +3 -4
  151. package/dist/esm/mediaParsers/textPlain.mjs.map +1 -1
  152. package/dist/esm/middlewares/_load.mjs +2 -2
  153. package/dist/esm/middlewares/_load.mjs.map +1 -1
  154. package/dist/esm/middlewares/auth.mjs +2 -2
  155. package/dist/esm/middlewares/auth.mjs.map +1 -1
  156. package/dist/esm/middlewares/body.mjs +6 -5
  157. package/dist/esm/middlewares/body.mjs.map +1 -1
  158. package/dist/esm/middlewares/cookies.mjs +2 -2
  159. package/dist/esm/middlewares/cookies.mjs.map +1 -1
  160. package/dist/esm/middlewares/headers.mjs +20 -10
  161. package/dist/esm/middlewares/headers.mjs.map +1 -1
  162. package/dist/esm/register.mjs +2 -2
  163. package/dist/esm/register.mjs.map +1 -1
  164. package/dist/esm/routes/_load.mjs +4 -4
  165. package/dist/esm/routes/_load.mjs.map +1 -1
  166. package/dist/esm/routes/oauth/{callback.mjs → callback.post.mjs} +5 -6
  167. package/dist/esm/routes/oauth/callback.post.mjs.map +1 -0
  168. package/dist/esm/routes/oauth/{logout.mjs → logout.post.mjs} +6 -8
  169. package/dist/esm/routes/oauth/logout.post.mjs.map +1 -0
  170. package/package.json +9 -7
  171. package/dist/cjs/lib/utils/MimeTypes.cjs +0 -26
  172. package/dist/cjs/lib/utils/MimeTypes.cjs.map +0 -1
  173. package/dist/cjs/lib/utils/RouteData.cjs +0 -62
  174. package/dist/cjs/lib/utils/RouteData.cjs.map +0 -1
  175. package/dist/cjs/listeners/PluginServerMatch.cjs.map +0 -1
  176. package/dist/cjs/listeners/PluginServerNoMatch.cjs.map +0 -1
  177. package/dist/cjs/routes/oauth/callback.cjs.map +0 -1
  178. package/dist/cjs/routes/oauth/logout.cjs.map +0 -1
  179. package/dist/esm/chunk-JTFKMR4I.mjs.map +0 -1
  180. package/dist/esm/lib/utils/MimeTypes.mjs +0 -26
  181. package/dist/esm/lib/utils/MimeTypes.mjs.map +0 -1
  182. package/dist/esm/lib/utils/RouteData.mjs +0 -56
  183. package/dist/esm/lib/utils/RouteData.mjs.map +0 -1
  184. package/dist/esm/listeners/PluginServerMatch.mjs +0 -23
  185. package/dist/esm/listeners/PluginServerMatch.mjs.map +0 -1
  186. package/dist/esm/listeners/PluginServerNoMatch.mjs.map +0 -1
  187. package/dist/esm/routes/oauth/callback.mjs.map +0 -1
  188. package/dist/esm/routes/oauth/logout.mjs.map +0 -1
@@ -1,12 +1,14 @@
1
- import { EventEmitter } from 'node:events';
1
+ import { AsyncEventEmitter } from '@vladfrangu/async_event_emitter';
2
2
  import { IncomingMessage, ServerResponse, Server as Server$1, ServerOptions as ServerOptions$1 } from 'node:http';
3
3
  import { ListenOptions } from 'node:net';
4
- import { Store, Piece } from '@sapphire/pieces';
4
+ import { Piece, Store } from '@sapphire/pieces';
5
5
  import { Awaitable } from '@sapphire/utilities';
6
6
  import { Gunzip } from 'zlib';
7
- import { Snowflake, OAuth2Scopes, RESTGetAPICurrentUserResult, RESTGetAPICurrentUserGuildsResult, RESTGetAPICurrentUserConnectionsResult, Collection } from 'discord.js';
7
+ import { Snowflake, OAuth2Scopes, RESTGetAPICurrentUserResult, RESTGetAPICurrentUserGuildsResult, RESTGetAPICurrentUserConnectionsResult } from 'discord.js';
8
8
  import { Readable } from 'node:stream';
9
9
 
10
+ type MimeType = 'application/1d-interleaved-parityfec' | 'application/3gpdash-qoe-report+xml' | 'application/3gppHal+json' | 'application/3gppHalForms+json' | 'application/3gpp-ims+xml' | 'application/A2L' | 'application/ace-groupcomm+cbor' | 'application/ace+cbor' | 'application/ace+json' | 'application/activemessage' | 'application/activity+json' | 'application/aif+cbor' | 'application/aif+json' | 'application/alto-cdni+json' | 'application/alto-cdnifilter+json' | 'application/alto-costmap+json' | 'application/alto-costmapfilter+json' | 'application/alto-directory+json' | 'application/alto-endpointprop+json' | 'application/alto-endpointpropparams+json' | 'application/alto-endpointcost+json' | 'application/alto-endpointcostparams+json' | 'application/alto-error+json' | 'application/alto-networkmapfilter+json' | 'application/alto-networkmap+json' | 'application/alto-propmap+json' | 'application/alto-propmapparams+json' | 'application/alto-tips+json' | 'application/alto-tipsparams+json' | 'application/alto-updatestreamcontrol+json' | 'application/alto-updatestreamparams+json' | 'application/AML' | 'application/andrew-inset' | 'application/applefile' | 'application/at+jwt' | 'application/ATF' | 'application/ATFX' | 'application/atom+xml' | 'application/atomcat+xml' | 'application/atomdeleted+xml' | 'application/atomicmail' | 'application/atomsvc+xml' | 'application/atsc-dwd+xml' | 'application/atsc-dynamic-event-message' | 'application/atsc-held+xml' | 'application/atsc-rdt+json' | 'application/atsc-rsat+xml' | 'application/ATXML' | 'application/auth-policy+xml' | 'application/automationml-aml+xml' | 'application/automationml-amlx+zip' | 'application/bacnet-xdd+zip' | 'application/batch-SMTP' | 'application/beep+xml' | 'application/bufr' | 'application/c2pa' | 'application/calendar+json' | 'application/calendar+xml' | 'application/call-completion' | 'application/CALS-1840' | 'application/captive+json' | 'application/cbor' | 'application/cbor-seq' | 'application/cccex' | 'application/ccmp+xml' | 'application/ccxml+xml' | 'application/cda+xml' | 'application/CDFX+XML' | 'application/cdmi-capability' | 'application/cdmi-container' | 'application/cdmi-domain' | 'application/cdmi-object' | 'application/cdmi-queue' | 'application/cdni' | 'application/CEA' | 'application/cea-2018+xml' | 'application/cellml+xml' | 'application/cfw' | 'application/cid-edhoc+cbor-seq' | 'application/city+json' | 'application/clr' | 'application/clue_info+xml' | 'application/clue+xml' | 'application/cms' | 'application/cnrp+xml' | 'application/coap-group+json' | 'application/coap-payload' | 'application/commonground' | 'application/concise-problem-details+cbor' | 'application/conference-info+xml' | 'application/cpl+xml' | 'application/cose' | 'application/cose-key' | 'application/cose-key-set' | 'application/cose-x509' | 'application/csrattrs' | 'application/csta+xml' | 'application/CSTAdata+xml' | 'application/csvm+json' | 'application/cwl' | 'application/cwl+json' | 'application/cwl+yaml' | 'application/cwt' | 'application/cybercash' | 'application/dash+xml' | 'application/dash-patch+xml' | 'application/dashdelta' | 'application/davmount+xml' | 'application/dca-rft' | 'application/DCD' | 'application/dec-dx' | 'application/dialog-info+xml' | 'application/dicom' | 'application/dicom+json' | 'application/dicom+xml' | 'application/DII' | 'application/DIT' | 'application/dns' | 'application/dns+json' | 'application/dns-message' | 'application/dots+cbor' | 'application/dpop+jwt' | 'application/dskpp+xml' | 'application/dssc+der' | 'application/dssc+xml' | 'application/dvcs' | 'application/ecmascript' | 'application/edhoc+cbor-seq' | 'application/EDI-consent' | 'application/EDIFACT' | 'application/EDI-X12' | 'application/efi' | 'application/elm+json' | 'application/elm+xml' | 'application/EmergencyCallData.cap+xml' | 'application/EmergencyCallData.Comment+xml' | 'application/EmergencyCallData.Control+xml' | 'application/EmergencyCallData.DeviceInfo+xml' | 'application/EmergencyCallData.eCall.MSD' | 'application/EmergencyCallData.LegacyESN+json' | 'application/EmergencyCallData.ProviderInfo+xml' | 'application/EmergencyCallData.ServiceInfo+xml' | 'application/EmergencyCallData.SubscriberInfo+xml' | 'application/EmergencyCallData.VEDS+xml' | 'application/emma+xml' | 'application/emotionml+xml' | 'application/encaprtp' | 'application/epp+xml' | 'application/epub+zip' | 'application/eshop' | 'application/example' | 'application/exi' | 'application/expect-ct-report+json' | 'application/express' | 'application/fastinfoset' | 'application/fastsoap' | 'application/fdf' | 'application/fdt+xml' | 'application/fhir+json' | 'application/fhir+xml' | 'application/fits' | 'application/flexfec' | 'application/font-sfnt' | 'application/font-tdpfr' | 'application/font-woff' | 'application/framework-attributes+xml' | 'application/geo+json' | 'application/geo+json-seq' | 'application/geopackage+sqlite3' | 'application/geopose+json' | 'application/geoxacml+json' | 'application/geoxacml+xml' | 'application/gltf-buffer' | 'application/gml+xml' | 'application/gnap-binding-jws' | 'application/gnap-binding-jwsd' | 'application/gnap-binding-rotation-jws' | 'application/gnap-binding-rotation-jwsd' | 'application/grib' | 'application/gzip' | 'application/H224' | 'application/held+xml' | 'application/hl7v2+xml' | 'application/http' | 'application/hyperstudio' | 'application/ibe-key-request+xml' | 'application/ibe-pkg-reply+xml' | 'application/ibe-pp-data' | 'application/iges' | 'application/im-iscomposing+xml' | 'application/index' | 'application/index.cmd' | 'application/index.obj' | 'application/index.response' | 'application/index.vnd' | 'application/inkml+xml' | 'application/IOTP' | 'application/ipfix' | 'application/ipp' | 'application/ISUP' | 'application/its+xml' | 'application/java-archive' | 'application/javascript' | 'application/jf2feed+json' | 'application/jose' | 'application/jose+json' | 'application/jrd+json' | 'application/jscalendar+json' | 'application/jscontact+json' | 'application/json' | 'application/json-patch+json' | 'application/json-seq' | 'application/jsonpath' | 'application/jwk+json' | 'application/jwk-set+json' | 'application/jwt' | 'application/kpml-request+xml' | 'application/kpml-response+xml' | 'application/ld+json' | 'application/lgr+xml' | 'application/link-format' | 'application/linkset' | 'application/linkset+json' | 'application/load-control+xml' | 'application/logout+jwt' | 'application/lost+xml' | 'application/lostsync+xml' | 'application/lpf+zip' | 'application/LXF' | 'application/mac-binhex40' | 'application/macwriteii' | 'application/mads+xml' | 'application/manifest+json' | 'application/marc' | 'application/marcxml+xml' | 'application/mathematica' | 'application/mathml+xml' | 'application/mathml-content+xml' | 'application/mathml-presentation+xml' | 'application/mbms-associated-procedure-description+xml' | 'application/mbms-deregister+xml' | 'application/mbms-envelope+xml' | 'application/mbms-msk-response+xml' | 'application/mbms-msk+xml' | 'application/mbms-protection-description+xml' | 'application/mbms-reception-report+xml' | 'application/mbms-register-response+xml' | 'application/mbms-register+xml' | 'application/mbms-schedule+xml' | 'application/mbms-user-service-description+xml' | 'application/mbox' | 'application/media_control+xml' | 'application/media-policy-dataset+xml' | 'application/mediaservercontrol+xml' | 'application/merge-patch+json' | 'application/metalink4+xml' | 'application/mets+xml' | 'application/MF4' | 'application/mikey' | 'application/mipc' | 'application/missing-blocks+cbor-seq' | 'application/mmt-aei+xml' | 'application/mmt-usd+xml' | 'application/mods+xml' | 'application/moss-keys' | 'application/moss-signature' | 'application/mosskey-data' | 'application/mosskey-request' | 'application/mp21' | 'application/mp4' | 'application/mpeg4-generic' | 'application/mpeg4-iod' | 'application/mpeg4-iod-xmt' | 'application/mrb-consumer+xml' | 'application/mrb-publish+xml' | 'application/msc-ivr+xml' | 'application/msc-mixer+xml' | 'application/msword' | 'application/mud+json' | 'application/multipart-core' | 'application/mxf' | 'application/n-quads' | 'application/n-triples' | 'application/nasdata' | 'application/news-checkgroups' | 'application/news-groupinfo' | 'application/news-transmission' | 'application/nlsml+xml' | 'application/node' | 'application/nss' | 'application/oauth-authz-req+jwt' | 'application/oblivious-dns-message' | 'application/ocsp-request' | 'application/ocsp-response' | 'application/octet-stream' | 'application/ODA' | 'application/odm+xml' | 'application/ODX' | 'application/oebps-package+xml' | 'application/ogg' | 'application/ohttp-keys' | 'application/opc-nodeset+xml' | 'application/oscore' | 'application/oxps' | 'application/p21' | 'application/p21+zip' | 'application/p2p-overlay+xml' | 'application/parityfec' | 'application/passport' | 'application/patch-ops-error+xml' | 'application/pdf' | 'application/PDX' | 'application/pem-certificate-chain' | 'application/pgp-encrypted' | 'application/pgp-keys' | 'application/pgp-signature' | 'application/pidf-diff+xml' | 'application/pidf+xml' | 'application/pkcs10' | 'application/pkcs7-mime' | 'application/pkcs7-signature' | 'application/pkcs8' | 'application/pkcs8-encrypted' | 'application/pkcs12' | 'application/pkix-attr-cert' | 'application/pkix-cert' | 'application/pkix-crl' | 'application/pkix-pkipath' | 'application/pkixcmp' | 'application/pls+xml' | 'application/poc-settings+xml' | 'application/postscript' | 'application/ppsp-tracker+json' | 'application/private-token-issuer-directory' | 'application/private-token-request' | 'application/private-token-response' | 'application/problem+json' | 'application/problem+xml' | 'application/provenance+xml' | 'application/prs.alvestrand.titrax-sheet' | 'application/prs.cww' | 'application/prs.cyn' | 'application/prs.hpub+zip' | 'application/prs.implied-document+xml' | 'application/prs.implied-executable' | 'application/prs.implied-object+json' | 'application/prs.implied-object+json-seq' | 'application/prs.implied-object+yaml' | 'application/prs.implied-structure' | 'application/prs.mayfile' | 'application/prs.nprend' | 'application/prs.plucker' | 'application/prs.rdf-xml-crypt' | 'application/prs.vcfbzip2' | 'application/prs.xsf+xml' | 'application/pskc+xml' | 'application/pvd+json' | 'application/rdf+xml' | 'application/route-apd+xml' | 'application/route-s-tsid+xml' | 'application/route-usd+xml' | 'application/QSIG' | 'application/raptorfec' | 'application/rdap+json' | 'application/reginfo+xml' | 'application/relax-ng-compact-syntax' | 'application/remote-printing' | 'application/reputon+json' | 'application/resource-lists-diff+xml' | 'application/resource-lists+xml' | 'application/rfc+xml' | 'application/riscos' | 'application/rlmi+xml' | 'application/rls-services+xml' | 'application/rpki-checklist' | 'application/rpki-ghostbusters' | 'application/rpki-manifest' | 'application/rpki-publication' | 'application/rpki-roa' | 'application/rpki-signed-tal' | 'application/rpki-updown' | 'application/rtf' | 'application/rtploopback' | 'application/rtx' | 'application/samlassertion+xml' | 'application/samlmetadata+xml' | 'application/sarif-external-properties+json' | 'application/sarif+json' | 'application/sbe' | 'application/sbml+xml' | 'application/scaip+xml' | 'application/scim+json' | 'application/scvp-cv-request' | 'application/scvp-cv-response' | 'application/scvp-vp-request' | 'application/scvp-vp-response' | 'application/sdp' | 'application/secevent+jwt' | 'application/senml-etch+cbor' | 'application/senml-etch+json' | 'application/senml-exi' | 'application/senml+cbor' | 'application/senml+json' | 'application/senml+xml' | 'application/sensml-exi' | 'application/sensml+cbor' | 'application/sensml+json' | 'application/sensml+xml' | 'application/sep-exi' | 'application/sep+xml' | 'application/session-info' | 'application/set-payment' | 'application/set-payment-initiation' | 'application/set-registration' | 'application/set-registration-initiation' | 'application/SGML' | 'application/sgml-open-catalog' | 'application/shf+xml' | 'application/sieve' | 'application/simple-filter+xml' | 'application/simple-message-summary' | 'application/simpleSymbolContainer' | 'application/sipc' | 'application/slate' | 'application/smil' | 'application/smil+xml' | 'application/smpte336m' | 'application/soap+fastinfoset' | 'application/soap+xml' | 'application/sparql-query' | 'application/spdx+json' | 'application/sparql-results+xml' | 'application/spirits-event+xml' | 'application/sql' | 'application/srgs' | 'application/srgs+xml' | 'application/sru+xml' | 'application/sslkeylogfile' | 'application/ssml+xml' | 'application/ST2110-41' | 'application/stix+json' | 'application/stratum' | 'application/swid+cbor' | 'application/swid+xml' | 'application/tamp-apex-update' | 'application/tamp-apex-update-confirm' | 'application/tamp-community-update' | 'application/tamp-community-update-confirm' | 'application/tamp-error' | 'application/tamp-sequence-adjust' | 'application/tamp-sequence-adjust-confirm' | 'application/tamp-status-query' | 'application/tamp-status-response' | 'application/tamp-update' | 'application/tamp-update-confirm' | 'application/taxii+json' | 'application/td+json' | 'application/tei+xml' | 'application/TETRA_ISI' | 'application/thraud+xml' | 'application/timestamp-query' | 'application/timestamp-reply' | 'application/timestamped-data' | 'application/tlsrpt+gzip' | 'application/tlsrpt+json' | 'application/tm+json' | 'application/tnauthlist' | 'application/token-introspection+jwt' | 'application/trickle-ice-sdpfrag' | 'application/trig' | 'application/ttml+xml' | 'application/tve-trigger' | 'application/tzif' | 'application/tzif-leap' | 'application/ulpfec' | 'application/urc-grpsheet+xml' | 'application/urc-ressheet+xml' | 'application/urc-targetdesc+xml' | 'application/urc-uisocketdesc+xml' | 'application/vc' | 'application/vcard+json' | 'application/vcard+xml' | 'application/vemmi' | 'application/vnd.1000minds.decision-model+xml' | 'application/vnd.1ob' | 'application/vnd.3gpp.5gnas' | 'application/vnd.3gpp.5gsa2x' | 'application/vnd.3gpp.5gsa2x-local-service-information' | 'application/vnd.3gpp.access-transfer-events+xml' | 'application/vnd.3gpp.bsf+xml' | 'application/vnd.3gpp.crs+xml' | 'application/vnd.3gpp.current-location-discovery+xml' | 'application/vnd.3gpp.GMOP+xml' | 'application/vnd.3gpp.gtpc' | 'application/vnd.3gpp.interworking-data' | 'application/vnd.3gpp.lpp' | 'application/vnd.3gpp.mc-signalling-ear' | 'application/vnd.3gpp.mcdata-affiliation-command+xml' | 'application/vnd.3gpp.mcdata-info+xml' | 'application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml' | 'application/vnd.3gpp.mcdata-payload' | 'application/vnd.3gpp.mcdata-regroup+xml' | 'application/vnd.3gpp.mcdata-service-config+xml' | 'application/vnd.3gpp.mcdata-signalling' | 'application/vnd.3gpp.mcdata-ue-config+xml' | 'application/vnd.3gpp.mcdata-user-profile+xml' | 'application/vnd.3gpp.mcptt-affiliation-command+xml' | 'application/vnd.3gpp.mcptt-floor-request+xml' | 'application/vnd.3gpp.mcptt-info+xml' | 'application/vnd.3gpp.mcptt-location-info+xml' | 'application/vnd.3gpp.mcptt-mbms-usage-info+xml' | 'application/vnd.3gpp.mcptt-regroup+xml' | 'application/vnd.3gpp.mcptt-service-config+xml' | 'application/vnd.3gpp.mcptt-signed+xml' | 'application/vnd.3gpp.mcptt-ue-config+xml' | 'application/vnd.3gpp.mcptt-ue-init-config+xml' | 'application/vnd.3gpp.mcptt-user-profile+xml' | 'application/vnd.3gpp.mcvideo-affiliation-command+xml' | 'application/vnd.3gpp.mcvideo-affiliation-info+xml' | 'application/vnd.3gpp.mcvideo-info+xml' | 'application/vnd.3gpp.mcvideo-location-info+xml' | 'application/vnd.3gpp.mcvideo-mbms-usage-info+xml' | 'application/vnd.3gpp.mcvideo-regroup+xml' | 'application/vnd.3gpp.mcvideo-service-config+xml' | 'application/vnd.3gpp.mcvideo-transmission-request+xml' | 'application/vnd.3gpp.mcvideo-ue-config+xml' | 'application/vnd.3gpp.mcvideo-user-profile+xml' | 'application/vnd.3gpp.mid-call+xml' | 'application/vnd.3gpp.ngap' | 'application/vnd.3gpp.pfcp' | 'application/vnd.3gpp.pic-bw-large' | 'application/vnd.3gpp.pic-bw-small' | 'application/vnd.3gpp.pic-bw-var' | 'application/vnd.3gpp.pinapp-info+xml' | 'application/vnd.3gpp-prose-pc3a+xml' | 'application/vnd.3gpp-prose-pc3ach+xml' | 'application/vnd.3gpp-prose-pc3ch+xml' | 'application/vnd.3gpp-prose-pc8+xml' | 'application/vnd.3gpp-prose+xml' | 'application/vnd.3gpp.s1ap' | 'application/vnd.3gpp.seal-group-doc+xml' | 'application/vnd.3gpp.seal-info+xml' | 'application/vnd.3gpp.seal-location-info+xml' | 'application/vnd.3gpp.seal-mbms-usage-info+xml' | 'application/vnd.3gpp.seal-network-QoS-management-info+xml' | 'application/vnd.3gpp.seal-ue-config-info+xml' | 'application/vnd.3gpp.seal-unicast-info+xml' | 'application/vnd.3gpp.seal-user-profile-info+xml' | 'application/vnd.3gpp.sms' | 'application/vnd.3gpp.sms+xml' | 'application/vnd.3gpp.srvcc-ext+xml' | 'application/vnd.3gpp.SRVCC-info+xml' | 'application/vnd.3gpp.state-and-event-info+xml' | 'application/vnd.3gpp.ussd+xml' | 'application/vnd.3gpp.vae-info+xml' | 'application/vnd.3gpp-v2x-local-service-information' | 'application/vnd.3gpp2.bcmcsinfo+xml' | 'application/vnd.3gpp2.sms' | 'application/vnd.3gpp2.tcap' | 'application/vnd.3gpp.v2x' | 'application/vnd.3lightssoftware.imagescal' | 'application/vnd.3M.Post-it-Notes' | 'application/vnd.accpac.simply.aso' | 'application/vnd.accpac.simply.imp' | 'application/vnd.acm.addressxfer+json' | 'application/vnd.acm.chatbot+json' | 'application/vnd.acucobol' | 'application/vnd.acucorp' | 'application/vnd.adobe.flash.movie' | 'application/vnd.adobe.formscentral.fcdt' | 'application/vnd.adobe.fxp' | 'application/vnd.adobe.partial-upload' | 'application/vnd.adobe.xdp+xml' | 'application/vnd.aether.imp' | 'application/vnd.afpc.afplinedata' | 'application/vnd.afpc.afplinedata-pagedef' | 'application/vnd.afpc.cmoca-cmresource' | 'application/vnd.afpc.foca-charset' | 'application/vnd.afpc.foca-codedfont' | 'application/vnd.afpc.foca-codepage' | 'application/vnd.afpc.modca' | 'application/vnd.afpc.modca-cmtable' | 'application/vnd.afpc.modca-formdef' | 'application/vnd.afpc.modca-mediummap' | 'application/vnd.afpc.modca-objectcontainer' | 'application/vnd.afpc.modca-overlay' | 'application/vnd.afpc.modca-pagesegment' | 'application/vnd.age' | 'application/vnd.ah-barcode' | 'application/vnd.ahead.space' | 'application/vnd.airzip.filesecure.azf' | 'application/vnd.airzip.filesecure.azs' | 'application/vnd.amadeus+json' | 'application/vnd.amazon.mobi8-ebook' | 'application/vnd.americandynamics.acc' | 'application/vnd.amiga.ami' | 'application/vnd.amundsen.maze+xml' | 'application/vnd.android.ota' | 'application/vnd.anki' | 'application/vnd.anser-web-certificate-issue-initiation' | 'application/vnd.antix.game-component' | 'application/vnd.apache.arrow.file' | 'application/vnd.apache.arrow.stream' | 'application/vnd.apache.parquet' | 'application/vnd.apache.thrift.binary' | 'application/vnd.apache.thrift.compact' | 'application/vnd.apache.thrift.json' | 'application/vnd.apexlang' | 'application/vnd.api+json' | 'application/vnd.aplextor.warrp+json' | 'application/vnd.apothekende.reservation+json' | 'application/vnd.apple.installer+xml' | 'application/vnd.apple.keynote' | 'application/vnd.apple.mpegurl' | 'application/vnd.apple.numbers' | 'application/vnd.apple.pages' | 'application/vnd.arastra.swi' | 'application/vnd.aristanetworks.swi' | 'application/vnd.artisan+json' | 'application/vnd.artsquare' | 'application/vnd.astraea-software.iota' | 'application/vnd.audiograph' | 'application/vnd.autopackage' | 'application/vnd.avalon+json' | 'application/vnd.avistar+xml' | 'application/vnd.balsamiq.bmml+xml' | 'application/vnd.banana-accounting' | 'application/vnd.bbf.usp.error' | 'application/vnd.bbf.usp.msg' | 'application/vnd.bbf.usp.msg+json' | 'application/vnd.balsamiq.bmpr' | 'application/vnd.bekitzur-stech+json' | 'application/vnd.belightsoft.lhzd+zip' | 'application/vnd.belightsoft.lhzl+zip' | 'application/vnd.bint.med-content' | 'application/vnd.biopax.rdf+xml' | 'application/vnd.blink-idb-value-wrapper' | 'application/vnd.blueice.multipass' | 'application/vnd.bluetooth.ep.oob' | 'application/vnd.bluetooth.le.oob' | 'application/vnd.bmi' | 'application/vnd.bpf' | 'application/vnd.bpf3' | 'application/vnd.businessobjects' | 'application/vnd.byu.uapi+json' | 'application/vnd.bzip3' | 'application/vnd.c3voc.schedule+xml' | 'application/vnd.cab-jscript' | 'application/vnd.canon-cpdl' | 'application/vnd.canon-lips' | 'application/vnd.capasystems-pg+json' | 'application/vnd.cendio.thinlinc.clientconf' | 'application/vnd.century-systems.tcp_stream' | 'application/vnd.chemdraw+xml' | 'application/vnd.chess-pgn' | 'application/vnd.chipnuts.karaoke-mmd' | 'application/vnd.ciedi' | 'application/vnd.cinderella' | 'application/vnd.cirpack.isdn-ext' | 'application/vnd.citationstyles.style+xml' | 'application/vnd.claymore' | 'application/vnd.cloanto.rp9' | 'application/vnd.clonk.c4group' | 'application/vnd.cluetrust.cartomobile-config' | 'application/vnd.cluetrust.cartomobile-config-pkg' | 'application/vnd.cncf.helm.chart.content.v1.tar+gzip' | 'application/vnd.cncf.helm.chart.provenance.v1.prov' | 'application/vnd.cncf.helm.config.v1+json' | 'application/vnd.coffeescript' | 'application/vnd.collabio.xodocuments.document' | 'application/vnd.collabio.xodocuments.document-template' | 'application/vnd.collabio.xodocuments.presentation' | 'application/vnd.collabio.xodocuments.presentation-template' | 'application/vnd.collabio.xodocuments.spreadsheet' | 'application/vnd.collabio.xodocuments.spreadsheet-template' | 'application/vnd.collection.doc+json' | 'application/vnd.collection+json' | 'application/vnd.collection.next+json' | 'application/vnd.comicbook-rar' | 'application/vnd.comicbook+zip' | 'application/vnd.commerce-battelle' | 'application/vnd.commonspace' | 'application/vnd.coreos.ignition+json' | 'application/vnd.cosmocaller' | 'application/vnd.contact.cmsg' | 'application/vnd.crick.clicker' | 'application/vnd.crick.clicker.keyboard' | 'application/vnd.crick.clicker.palette' | 'application/vnd.crick.clicker.template' | 'application/vnd.crick.clicker.wordbank' | 'application/vnd.criticaltools.wbs+xml' | 'application/vnd.cryptii.pipe+json' | 'application/vnd.crypto-shade-file' | 'application/vnd.cryptomator.encrypted' | 'application/vnd.cryptomator.vault' | 'application/vnd.ctc-posml' | 'application/vnd.ctct.ws+xml' | 'application/vnd.cups-pdf' | 'application/vnd.cups-postscript' | 'application/vnd.cups-ppd' | 'application/vnd.cups-raster' | 'application/vnd.cups-raw' | 'application/vnd.curl' | 'application/vnd.cyan.dean.root+xml' | 'application/vnd.cybank' | 'application/vnd.cyclonedx+json' | 'application/vnd.cyclonedx+xml' | 'application/vnd.d2l.coursepackage1p0+zip' | 'application/vnd.d3m-dataset' | 'application/vnd.d3m-problem' | 'application/vnd.dart' | 'application/vnd.data-vision.rdz' | 'application/vnd.datalog' | 'application/vnd.datapackage+json' | 'application/vnd.dataresource+json' | 'application/vnd.dbf' | 'application/vnd.debian.binary-package' | 'application/vnd.dece.data' | 'application/vnd.dece.ttml+xml' | 'application/vnd.dece.unspecified' | 'application/vnd.dece.zip' | 'application/vnd.denovo.fcselayout-link' | 'application/vnd.desmume.movie' | 'application/vnd.dir-bi.plate-dl-nosuffix' | 'application/vnd.dm.delegation+xml' | 'application/vnd.dna' | 'application/vnd.document+json' | 'application/vnd.dolby.mobile.1' | 'application/vnd.dolby.mobile.2' | 'application/vnd.doremir.scorecloud-binary-document' | 'application/vnd.dpgraph' | 'application/vnd.dreamfactory' | 'application/vnd.drive+json' | 'application/vnd.dtg.local' | 'application/vnd.dtg.local.flash' | 'application/vnd.dtg.local.html' | 'application/vnd.dvb.ait' | 'application/vnd.dvb.dvbisl+xml' | 'application/vnd.dvb.dvbj' | 'application/vnd.dvb.esgcontainer' | 'application/vnd.dvb.ipdcdftnotifaccess' | 'application/vnd.dvb.ipdcesgaccess' | 'application/vnd.dvb.ipdcesgaccess2' | 'application/vnd.dvb.ipdcesgpdd' | 'application/vnd.dvb.ipdcroaming' | 'application/vnd.dvb.iptv.alfec-base' | 'application/vnd.dvb.iptv.alfec-enhancement' | 'application/vnd.dvb.notif-aggregate-root+xml' | 'application/vnd.dvb.notif-container+xml' | 'application/vnd.dvb.notif-generic+xml' | 'application/vnd.dvb.notif-ia-msglist+xml' | 'application/vnd.dvb.notif-ia-registration-request+xml' | 'application/vnd.dvb.notif-ia-registration-response+xml' | 'application/vnd.dvb.notif-init+xml' | 'application/vnd.dvb.pfr' | 'application/vnd.dvb.service' | 'application/vnd.dxr' | 'application/vnd.dynageo' | 'application/vnd.dzr' | 'application/vnd.easykaraoke.cdgdownload' | 'application/vnd.ecip.rlp' | 'application/vnd.ecdis-update' | 'application/vnd.eclipse.ditto+json' | 'application/vnd.ecowin.chart' | 'application/vnd.ecowin.filerequest' | 'application/vnd.ecowin.fileupdate' | 'application/vnd.ecowin.series' | 'application/vnd.ecowin.seriesrequest' | 'application/vnd.ecowin.seriesupdate' | 'application/vnd.efi.img' | 'application/vnd.efi.iso' | 'application/vnd.eln+zip' | 'application/vnd.emclient.accessrequest+xml' | 'application/vnd.enliven' | 'application/vnd.enphase.envoy' | 'application/vnd.eprints.data+xml' | 'application/vnd.epson.esf' | 'application/vnd.epson.msf' | 'application/vnd.epson.quickanime' | 'application/vnd.epson.salt' | 'application/vnd.epson.ssf' | 'application/vnd.ericsson.quickcall' | 'application/vnd.erofs' | 'application/vnd.espass-espass+zip' | 'application/vnd.eszigno3+xml' | 'application/vnd.etsi.aoc+xml' | 'application/vnd.etsi.asic-s+zip' | 'application/vnd.etsi.asic-e+zip' | 'application/vnd.etsi.cug+xml' | 'application/vnd.etsi.iptvcommand+xml' | 'application/vnd.etsi.iptvdiscovery+xml' | 'application/vnd.etsi.iptvprofile+xml' | 'application/vnd.etsi.iptvsad-bc+xml' | 'application/vnd.etsi.iptvsad-cod+xml' | 'application/vnd.etsi.iptvsad-npvr+xml' | 'application/vnd.etsi.iptvservice+xml' | 'application/vnd.etsi.iptvsync+xml' | 'application/vnd.etsi.iptvueprofile+xml' | 'application/vnd.etsi.mcid+xml' | 'application/vnd.etsi.mheg5' | 'application/vnd.etsi.overload-control-policy-dataset+xml' | 'application/vnd.etsi.pstn+xml' | 'application/vnd.etsi.sci+xml' | 'application/vnd.etsi.simservs+xml' | 'application/vnd.etsi.timestamp-token' | 'application/vnd.etsi.tsl+xml' | 'application/vnd.etsi.tsl.der' | 'application/vnd.eu.kasparian.car+json' | 'application/vnd.eudora.data' | 'application/vnd.evolv.ecig.profile' | 'application/vnd.evolv.ecig.settings' | 'application/vnd.evolv.ecig.theme' | 'application/vnd.exstream-empower+zip' | 'application/vnd.exstream-package' | 'application/vnd.ezpix-album' | 'application/vnd.ezpix-package' | 'application/vnd.f-secure.mobile' | 'application/vnd.fastcopy-disk-image' | 'application/vnd.familysearch.gedcom+zip' | 'application/vnd.fdsn.mseed' | 'application/vnd.fdsn.seed' | 'application/vnd.ffsns' | 'application/vnd.ficlab.flb+zip' | 'application/vnd.filmit.zfc' | 'application/vnd.fints' | 'application/vnd.firemonkeys.cloudcell' | 'application/vnd.FloGraphIt' | 'application/vnd.fluxtime.clip' | 'application/vnd.font-fontforge-sfd' | 'application/vnd.framemaker' | 'application/vnd.freelog.comic' | 'application/vnd.frogans.fnc' | 'application/vnd.frogans.ltf' | 'application/vnd.fsc.weblaunch' | 'application/vnd.fujifilm.fb.docuworks' | 'application/vnd.fujifilm.fb.docuworks.binder' | 'application/vnd.fujifilm.fb.docuworks.container' | 'application/vnd.fujifilm.fb.jfi+xml' | 'application/vnd.fujitsu.oasys' | 'application/vnd.fujitsu.oasys2' | 'application/vnd.fujitsu.oasys3' | 'application/vnd.fujitsu.oasysgp' | 'application/vnd.fujitsu.oasysprs' | 'application/vnd.fujixerox.ART4' | 'application/vnd.fujixerox.ART-EX' | 'application/vnd.fujixerox.ddd' | 'application/vnd.fujixerox.docuworks' | 'application/vnd.fujixerox.docuworks.binder' | 'application/vnd.fujixerox.docuworks.container' | 'application/vnd.fujixerox.HBPL' | 'application/vnd.fut-misnet' | 'application/vnd.futoin+cbor' | 'application/vnd.futoin+json' | 'application/vnd.fuzzysheet' | 'application/vnd.ga4gh.passport+jwt' | 'application/vnd.genomatix.tuxedo' | 'application/vnd.genozip' | 'application/vnd.gentics.grd+json' | 'application/vnd.gentoo.catmetadata+xml' | 'application/vnd.gentoo.ebuild' | 'application/vnd.gentoo.eclass' | 'application/vnd.gentoo.gpkg' | 'application/vnd.gentoo.manifest' | 'application/vnd.gentoo.xpak' | 'application/vnd.gentoo.pkgmetadata+xml' | 'application/vnd.geo+json' | 'application/vnd.geocube+xml' | 'application/vnd.geogebra.file' | 'application/vnd.geogebra.slides' | 'application/vnd.geogebra.tool' | 'application/vnd.geometry-explorer' | 'application/vnd.geonext' | 'application/vnd.geoplan' | 'application/vnd.geospace' | 'application/vnd.gerber' | 'application/vnd.globalplatform.card-content-mgt' | 'application/vnd.globalplatform.card-content-mgt-response' | 'application/vnd.gmx' | 'application/vnd.gnu.taler.exchange+json' | 'application/vnd.gnu.taler.merchant+json' | 'application/vnd.google-earth.kml+xml' | 'application/vnd.google-earth.kmz' | 'application/vnd.gov.sk.e-form+xml' | 'application/vnd.gov.sk.e-form+zip' | 'application/vnd.gov.sk.xmldatacontainer+xml' | 'application/vnd.gpxsee.map+xml' | 'application/vnd.grafeq' | 'application/vnd.gridmp' | 'application/vnd.groove-account' | 'application/vnd.groove-help' | 'application/vnd.groove-identity-message' | 'application/vnd.groove-injector' | 'application/vnd.groove-tool-message' | 'application/vnd.groove-tool-template' | 'application/vnd.groove-vcard' | 'application/vnd.hal+json' | 'application/vnd.hal+xml' | 'application/vnd.HandHeld-Entertainment+xml' | 'application/vnd.hbci' | 'application/vnd.hc+json' | 'application/vnd.hcl-bireports' | 'application/vnd.hdt' | 'application/vnd.heroku+json' | 'application/vnd.hhe.lesson-player' | 'application/vnd.hp-HPGL' | 'application/vnd.hp-hpid' | 'application/vnd.hp-hps' | 'application/vnd.hp-jlyt' | 'application/vnd.hp-PCL' | 'application/vnd.hp-PCLXL' | 'application/vnd.hsl' | 'application/vnd.httphone' | 'application/vnd.hydrostatix.sof-data' | 'application/vnd.hyper-item+json' | 'application/vnd.hyper+json' | 'application/vnd.hyperdrive+json' | 'application/vnd.hzn-3d-crossword' | 'application/vnd.ibm.afplinedata' | 'application/vnd.ibm.electronic-media' | 'application/vnd.ibm.MiniPay' | 'application/vnd.ibm.modcap' | 'application/vnd.ibm.rights-management' | 'application/vnd.ibm.secure-container' | 'application/vnd.iccprofile' | 'application/vnd.ieee.1905' | 'application/vnd.igloader' | 'application/vnd.imagemeter.folder+zip' | 'application/vnd.imagemeter.image+zip' | 'application/vnd.immervision-ivp' | 'application/vnd.immervision-ivu' | 'application/vnd.ims.imsccv1p1' | 'application/vnd.ims.imsccv1p2' | 'application/vnd.ims.imsccv1p3' | 'application/vnd.ims.lis.v2.result+json' | 'application/vnd.ims.lti.v2.toolconsumerprofile+json' | 'application/vnd.ims.lti.v2.toolproxy.id+json' | 'application/vnd.ims.lti.v2.toolproxy+json' | 'application/vnd.ims.lti.v2.toolsettings+json' | 'application/vnd.ims.lti.v2.toolsettings.simple+json' | 'application/vnd.informedcontrol.rms+xml' | 'application/vnd.infotech.project' | 'application/vnd.infotech.project+xml' | 'application/vnd.informix-visionary' | 'application/vnd.innopath.wamp.notification' | 'application/vnd.insors.igm' | 'application/vnd.intercon.formnet' | 'application/vnd.intergeo' | 'application/vnd.intertrust.digibox' | 'application/vnd.intertrust.nncp' | 'application/vnd.intu.qbo' | 'application/vnd.intu.qfx' | 'application/vnd.ipfs.ipns-record' | 'application/vnd.ipld.car' | 'application/vnd.ipld.dag-cbor' | 'application/vnd.ipld.dag-json' | 'application/vnd.ipld.raw' | 'application/vnd.iptc.g2.catalogitem+xml' | 'application/vnd.iptc.g2.conceptitem+xml' | 'application/vnd.iptc.g2.knowledgeitem+xml' | 'application/vnd.iptc.g2.newsitem+xml' | 'application/vnd.iptc.g2.newsmessage+xml' | 'application/vnd.iptc.g2.packageitem+xml' | 'application/vnd.iptc.g2.planningitem+xml' | 'application/vnd.ipunplugged.rcprofile' | 'application/vnd.irepository.package+xml' | 'application/vnd.is-xpr' | 'application/vnd.isac.fcs' | 'application/vnd.jam' | 'application/vnd.iso11783-10+zip' | 'application/vnd.japannet-directory-service' | 'application/vnd.japannet-jpnstore-wakeup' | 'application/vnd.japannet-payment-wakeup' | 'application/vnd.japannet-registration' | 'application/vnd.japannet-registration-wakeup' | 'application/vnd.japannet-setstore-wakeup' | 'application/vnd.japannet-verification' | 'application/vnd.japannet-verification-wakeup' | 'application/vnd.jcp.javame.midlet-rms' | 'application/vnd.jisp' | 'application/vnd.joost.joda-archive' | 'application/vnd.jsk.isdn-ngn' | 'application/vnd.kahootz' | 'application/vnd.kde.karbon' | 'application/vnd.kde.kchart' | 'application/vnd.kde.kformula' | 'application/vnd.kde.kivio' | 'application/vnd.kde.kontour' | 'application/vnd.kde.kpresenter' | 'application/vnd.kde.kspread' | 'application/vnd.kde.kword' | 'application/vnd.kenameaapp' | 'application/vnd.kidspiration' | 'application/vnd.Kinar' | 'application/vnd.koan' | 'application/vnd.kodak-descriptor' | 'application/vnd.las' | 'application/vnd.las.las+json' | 'application/vnd.las.las+xml' | 'application/vnd.laszip' | 'application/vnd.ldev.productlicensing' | 'application/vnd.leap+json' | 'application/vnd.liberty-request+xml' | 'application/vnd.llamagraphics.life-balance.desktop' | 'application/vnd.llamagraphics.life-balance.exchange+xml' | 'application/vnd.logipipe.circuit+zip' | 'application/vnd.loom' | 'application/vnd.lotus-1-2-3' | 'application/vnd.lotus-approach' | 'application/vnd.lotus-freelance' | 'application/vnd.lotus-notes' | 'application/vnd.lotus-organizer' | 'application/vnd.lotus-screencam' | 'application/vnd.lotus-wordpro' | 'application/vnd.macports.portpkg' | 'application/vnd.mapbox-vector-tile' | 'application/vnd.marlin.drm.actiontoken+xml' | 'application/vnd.marlin.drm.conftoken+xml' | 'application/vnd.marlin.drm.license+xml' | 'application/vnd.marlin.drm.mdcf' | 'application/vnd.mason+json' | 'application/vnd.maxar.archive.3tz+zip' | 'application/vnd.maxmind.maxmind-db' | 'application/vnd.mcd' | 'application/vnd.mdl' | 'application/vnd.mdl-mbsdf' | 'application/vnd.medcalcdata' | 'application/vnd.mediastation.cdkey' | 'application/vnd.medicalholodeck.recordxr' | 'application/vnd.meridian-slingshot' | 'application/vnd.mermaid' | 'application/vnd.MFER' | 'application/vnd.mfmp' | 'application/vnd.micro+json' | 'application/vnd.micrografx.flo' | 'application/vnd.micrografx.igx' | 'application/vnd.microsoft.portable-executable' | 'application/vnd.microsoft.windows.thumbnail-cache' | 'application/vnd.miele+json' | 'application/vnd.mif' | 'application/vnd.minisoft-hp3000-save' | 'application/vnd.mitsubishi.misty-guard.trustweb' | 'application/vnd.Mobius.DAF' | 'application/vnd.Mobius.DIS' | 'application/vnd.Mobius.MBK' | 'application/vnd.Mobius.MQY' | 'application/vnd.Mobius.MSL' | 'application/vnd.Mobius.PLC' | 'application/vnd.Mobius.TXF' | 'application/vnd.modl' | 'application/vnd.mophun.application' | 'application/vnd.mophun.certificate' | 'application/vnd.motorola.flexsuite' | 'application/vnd.motorola.flexsuite.adsi' | 'application/vnd.motorola.flexsuite.fis' | 'application/vnd.motorola.flexsuite.gotap' | 'application/vnd.motorola.flexsuite.kmr' | 'application/vnd.motorola.flexsuite.ttc' | 'application/vnd.motorola.flexsuite.wem' | 'application/vnd.motorola.iprm' | 'application/vnd.mozilla.xul+xml' | 'application/vnd.ms-artgalry' | 'application/vnd.ms-asf' | 'application/vnd.ms-cab-compressed' | 'application/vnd.ms-3mfdocument' | 'application/vnd.ms-excel' | 'application/vnd.ms-excel.addin.macroEnabled.12' | 'application/vnd.ms-excel.sheet.binary.macroEnabled.12' | 'application/vnd.ms-excel.sheet.macroEnabled.12' | 'application/vnd.ms-excel.template.macroEnabled.12' | 'application/vnd.ms-fontobject' | 'application/vnd.ms-htmlhelp' | 'application/vnd.ms-ims' | 'application/vnd.ms-lrm' | 'application/vnd.ms-office.activeX+xml' | 'application/vnd.ms-officetheme' | 'application/vnd.ms-playready.initiator+xml' | 'application/vnd.ms-powerpoint' | 'application/vnd.ms-powerpoint.addin.macroEnabled.12' | 'application/vnd.ms-powerpoint.presentation.macroEnabled.12' | 'application/vnd.ms-powerpoint.slide.macroEnabled.12' | 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12' | 'application/vnd.ms-powerpoint.template.macroEnabled.12' | 'application/vnd.ms-PrintDeviceCapabilities+xml' | 'application/vnd.ms-PrintSchemaTicket+xml' | 'application/vnd.ms-project' | 'application/vnd.ms-tnef' | 'application/vnd.ms-windows.devicepairing' | 'application/vnd.ms-windows.nwprinting.oob' | 'application/vnd.ms-windows.printerpairing' | 'application/vnd.ms-windows.wsd.oob' | 'application/vnd.ms-wmdrm.lic-chlg-req' | 'application/vnd.ms-wmdrm.lic-resp' | 'application/vnd.ms-wmdrm.meter-chlg-req' | 'application/vnd.ms-wmdrm.meter-resp' | 'application/vnd.ms-word.document.macroEnabled.12' | 'application/vnd.ms-word.template.macroEnabled.12' | 'application/vnd.ms-works' | 'application/vnd.ms-wpl' | 'application/vnd.ms-xpsdocument' | 'application/vnd.msa-disk-image' | 'application/vnd.mseq' | 'application/vnd.msgpack' | 'application/vnd.msign' | 'application/vnd.multiad.creator' | 'application/vnd.multiad.creator.cif' | 'application/vnd.musician' | 'application/vnd.music-niff' | 'application/vnd.muvee.style' | 'application/vnd.mynfc' | 'application/vnd.nacamar.ybrid+json' | 'application/vnd.nato.bindingdataobject+cbor' | 'application/vnd.nato.bindingdataobject+json' | 'application/vnd.nato.bindingdataobject+xml' | 'application/vnd.nato.openxmlformats-package.iepd+zip' | 'application/vnd.ncd.control' | 'application/vnd.ncd.reference' | 'application/vnd.nearst.inv+json' | 'application/vnd.nebumind.line' | 'application/vnd.nervana' | 'application/vnd.netfpx' | 'application/vnd.neurolanguage.nlu' | 'application/vnd.nimn' | 'application/vnd.nintendo.snes.rom' | 'application/vnd.nintendo.nitro.rom' | 'application/vnd.nitf' | 'application/vnd.noblenet-directory' | 'application/vnd.noblenet-sealer' | 'application/vnd.noblenet-web' | 'application/vnd.nokia.catalogs' | 'application/vnd.nokia.conml+wbxml' | 'application/vnd.nokia.conml+xml' | 'application/vnd.nokia.iptv.config+xml' | 'application/vnd.nokia.iSDS-radio-presets' | 'application/vnd.nokia.landmark+wbxml' | 'application/vnd.nokia.landmark+xml' | 'application/vnd.nokia.landmarkcollection+xml' | 'application/vnd.nokia.ncd' | 'application/vnd.nokia.n-gage.ac+xml' | 'application/vnd.nokia.n-gage.data' | 'application/vnd.nokia.n-gage.symbian.install' | 'application/vnd.nokia.pcd+wbxml' | 'application/vnd.nokia.pcd+xml' | 'application/vnd.nokia.radio-preset' | 'application/vnd.nokia.radio-presets' | 'application/vnd.novadigm.EDM' | 'application/vnd.novadigm.EDX' | 'application/vnd.novadigm.EXT' | 'application/vnd.ntt-local.content-share' | 'application/vnd.ntt-local.file-transfer' | 'application/vnd.ntt-local.ogw_remote-access' | 'application/vnd.ntt-local.sip-ta_remote' | 'application/vnd.ntt-local.sip-ta_tcp_stream' | 'application/vnd.oai.workflows' | 'application/vnd.oai.workflows+json' | 'application/vnd.oai.workflows+yaml' | 'application/vnd.oasis.opendocument.base' | 'application/vnd.oasis.opendocument.chart' | 'application/vnd.oasis.opendocument.chart-template' | 'application/vnd.oasis.opendocument.database' | 'application/vnd.oasis.opendocument.formula' | 'application/vnd.oasis.opendocument.formula-template' | 'application/vnd.oasis.opendocument.graphics' | 'application/vnd.oasis.opendocument.graphics-template' | 'application/vnd.oasis.opendocument.image' | 'application/vnd.oasis.opendocument.image-template' | 'application/vnd.oasis.opendocument.presentation' | 'application/vnd.oasis.opendocument.presentation-template' | 'application/vnd.oasis.opendocument.spreadsheet' | 'application/vnd.oasis.opendocument.spreadsheet-template' | 'application/vnd.oasis.opendocument.text' | 'application/vnd.oasis.opendocument.text-master' | 'application/vnd.oasis.opendocument.text-master-template' | 'application/vnd.oasis.opendocument.text-template' | 'application/vnd.oasis.opendocument.text-web' | 'application/vnd.obn' | 'application/vnd.ocf+cbor' | 'application/vnd.oci.image.manifest.v1+json' | 'application/vnd.oftn.l10n+json' | 'application/vnd.oipf.contentaccessdownload+xml' | 'application/vnd.oipf.contentaccessstreaming+xml' | 'application/vnd.oipf.cspg-hexbinary' | 'application/vnd.oipf.dae.svg+xml' | 'application/vnd.oipf.dae.xhtml+xml' | 'application/vnd.oipf.mippvcontrolmessage+xml' | 'application/vnd.oipf.pae.gem' | 'application/vnd.oipf.spdiscovery+xml' | 'application/vnd.oipf.spdlist+xml' | 'application/vnd.oipf.ueprofile+xml' | 'application/vnd.oipf.userprofile+xml' | 'application/vnd.olpc-sugar' | 'application/vnd.oma.bcast.associated-procedure-parameter+xml' | 'application/vnd.oma.bcast.drm-trigger+xml' | 'application/vnd.oma.bcast.imd+xml' | 'application/vnd.oma.bcast.ltkm' | 'application/vnd.oma.bcast.notification+xml' | 'application/vnd.oma.bcast.provisioningtrigger' | 'application/vnd.oma.bcast.sgboot' | 'application/vnd.oma.bcast.sgdd+xml' | 'application/vnd.oma.bcast.sgdu' | 'application/vnd.oma.bcast.simple-symbol-container' | 'application/vnd.oma.bcast.smartcard-trigger+xml' | 'application/vnd.oma.bcast.sprov+xml' | 'application/vnd.oma.bcast.stkm' | 'application/vnd.oma.cab-address-book+xml' | 'application/vnd.oma.cab-feature-handler+xml' | 'application/vnd.oma.cab-pcc+xml' | 'application/vnd.oma.cab-subs-invite+xml' | 'application/vnd.oma.cab-user-prefs+xml' | 'application/vnd.oma.dcd' | 'application/vnd.oma.dcdc' | 'application/vnd.oma.dd2+xml' | 'application/vnd.oma.drm.risd+xml' | 'application/vnd.oma.group-usage-list+xml' | 'application/vnd.oma.lwm2m+cbor' | 'application/vnd.oma.lwm2m+json' | 'application/vnd.oma.lwm2m+tlv' | 'application/vnd.oma.pal+xml' | 'application/vnd.oma.poc.detailed-progress-report+xml' | 'application/vnd.oma.poc.final-report+xml' | 'application/vnd.oma.poc.groups+xml' | 'application/vnd.oma.poc.invocation-descriptor+xml' | 'application/vnd.oma.poc.optimized-progress-report+xml' | 'application/vnd.oma.push' | 'application/vnd.oma.scidm.messages+xml' | 'application/vnd.oma.xcap-directory+xml' | 'application/vnd.omads-email+xml' | 'application/vnd.omads-file+xml' | 'application/vnd.omads-folder+xml' | 'application/vnd.omaloc-supl-init' | 'application/vnd.oma-scws-config' | 'application/vnd.oma-scws-http-request' | 'application/vnd.oma-scws-http-response' | 'application/vnd.onepager' | 'application/vnd.onepagertamp' | 'application/vnd.onepagertamx' | 'application/vnd.onepagertat' | 'application/vnd.onepagertatp' | 'application/vnd.onepagertatx' | 'application/vnd.onvif.metadata' | 'application/vnd.openblox.game-binary' | 'application/vnd.openblox.game+xml' | 'application/vnd.openeye.oeb' | 'application/vnd.openstreetmap.data+xml' | 'application/vnd.opentimestamps.ots' | 'application/vnd.openxmlformats-officedocument.custom-properties+xml' | 'application/vnd.openxmlformats-officedocument.customXmlProperties+xml' | 'application/vnd.openxmlformats-officedocument.drawing+xml' | 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml' | 'application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml' | 'application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml' | 'application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml' | 'application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml' | 'application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml' | 'application/vnd.openxmlformats-officedocument.extended-properties+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.comments+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.presentation' | 'application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.presProps+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.slide' | 'application/vnd.openxmlformats-officedocument.presentationml.slide+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' | 'application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.tags+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.template' | 'application/vnd.openxmlformats-officedocument.presentationml.template.main+xml' | 'application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml' | 'application/vnd.openxmlformats-officedocument.theme+xml' | 'application/vnd.openxmlformats-officedocument.themeOverride+xml' | 'application/vnd.openxmlformats-officedocument.vmlDrawing' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml' | 'application/vnd.openxmlformats-package.core-properties+xml' | 'application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml' | 'application/vnd.openxmlformats-package.relationships+xml' | 'application/vnd.oracle.resource+json' | 'application/vnd.orange.indata' | 'application/vnd.osa.netdeploy' | 'application/vnd.osgeo.mapguide.package' | 'application/vnd.osgi.bundle' | 'application/vnd.osgi.dp' | 'application/vnd.osgi.subsystem' | 'application/vnd.otps.ct-kip+xml' | 'application/vnd.oxli.countgraph' | 'application/vnd.pagerduty+json' | 'application/vnd.palm' | 'application/vnd.panoply' | 'application/vnd.paos.xml' | 'application/vnd.patentdive' | 'application/vnd.patientecommsdoc' | 'application/vnd.pawaafile' | 'application/vnd.pcos' | 'application/vnd.pg.format' | 'application/vnd.pg.osasli' | 'application/vnd.piaccess.application-licence' | 'application/vnd.picsel' | 'application/vnd.pmi.widget' | 'application/vnd.poc.group-advertisement+xml' | 'application/vnd.pocketlearn' | 'application/vnd.powerbuilder6' | 'application/vnd.powerbuilder6-s' | 'application/vnd.powerbuilder7' | 'application/vnd.powerbuilder75' | 'application/vnd.powerbuilder75-s' | 'application/vnd.powerbuilder7-s' | 'application/vnd.preminet' | 'application/vnd.previewsystems.box' | 'application/vnd.proteus.magazine' | 'application/vnd.psfs' | 'application/vnd.pt.mundusmundi' | 'application/vnd.publishare-delta-tree' | 'application/vnd.pvi.ptid1' | 'application/vnd.pwg-multiplexed' | 'application/vnd.pwg-xhtml-print+xml' | 'application/vnd.qualcomm.brew-app-res' | 'application/vnd.quarantainenet' | 'application/vnd.Quark.QuarkXPress' | 'application/vnd.quobject-quoxdocument' | 'application/vnd.radisys.moml+xml' | 'application/vnd.radisys.msml-audit-conf+xml' | 'application/vnd.radisys.msml-audit-conn+xml' | 'application/vnd.radisys.msml-audit-dialog+xml' | 'application/vnd.radisys.msml-audit-stream+xml' | 'application/vnd.radisys.msml-audit+xml' | 'application/vnd.radisys.msml-conf+xml' | 'application/vnd.radisys.msml-dialog-base+xml' | 'application/vnd.radisys.msml-dialog-fax-detect+xml' | 'application/vnd.radisys.msml-dialog-fax-sendrecv+xml' | 'application/vnd.radisys.msml-dialog-group+xml' | 'application/vnd.radisys.msml-dialog-speech+xml' | 'application/vnd.radisys.msml-dialog-transform+xml' | 'application/vnd.radisys.msml-dialog+xml' | 'application/vnd.radisys.msml+xml' | 'application/vnd.rainstor.data' | 'application/vnd.rapid' | 'application/vnd.rar' | 'application/vnd.realvnc.bed' | 'application/vnd.recordare.musicxml' | 'application/vnd.recordare.musicxml+xml' | 'application/vnd.relpipe' | 'application/vnd.RenLearn.rlprint' | 'application/vnd.resilient.logic' | 'application/vnd.restful+json' | 'application/vnd.rig.cryptonote' | 'application/vnd.route66.link66+xml' | 'application/vnd.rs-274x' | 'application/vnd.ruckus.download' | 'application/vnd.s3sms' | 'application/vnd.sailingtracker.track' | 'application/vnd.sar' | 'application/vnd.sbm.cid' | 'application/vnd.sbm.mid2' | 'application/vnd.scribus' | 'application/vnd.sealed.3df' | 'application/vnd.sealed.csf' | 'application/vnd.sealed.doc' | 'application/vnd.sealed.eml' | 'application/vnd.sealed.mht' | 'application/vnd.sealed.net' | 'application/vnd.sealed.ppt' | 'application/vnd.sealed.tiff' | 'application/vnd.sealed.xls' | 'application/vnd.sealedmedia.softseal.html' | 'application/vnd.sealedmedia.softseal.pdf' | 'application/vnd.seemail' | 'application/vnd.seis+json' | 'application/vnd.sema' | 'application/vnd.semd' | 'application/vnd.semf' | 'application/vnd.shade-save-file' | 'application/vnd.shana.informed.formdata' | 'application/vnd.shana.informed.formtemplate' | 'application/vnd.shana.informed.interchange' | 'application/vnd.shana.informed.package' | 'application/vnd.shootproof+json' | 'application/vnd.shopkick+json' | 'application/vnd.shp' | 'application/vnd.shx' | 'application/vnd.sigrok.session' | 'application/vnd.SimTech-MindMapper' | 'application/vnd.siren+json' | 'application/vnd.smaf' | 'application/vnd.smart.notebook' | 'application/vnd.smart.teacher' | 'application/vnd.smintio.portals.archive' | 'application/vnd.snesdev-page-table' | 'application/vnd.software602.filler.form+xml' | 'application/vnd.software602.filler.form-xml-zip' | 'application/vnd.solent.sdkm+xml' | 'application/vnd.spotfire.dxp' | 'application/vnd.spotfire.sfs' | 'application/vnd.sqlite3' | 'application/vnd.sss-cod' | 'application/vnd.sss-dtf' | 'application/vnd.sss-ntf' | 'application/vnd.stepmania.package' | 'application/vnd.stepmania.stepchart' | 'application/vnd.street-stream' | 'application/vnd.sun.wadl+xml' | 'application/vnd.sus-calendar' | 'application/vnd.svd' | 'application/vnd.swiftview-ics' | 'application/vnd.sybyl.mol2' | 'application/vnd.sycle+xml' | 'application/vnd.syft+json' | 'application/vnd.syncml.dm.notification' | 'application/vnd.syncml.dmddf+xml' | 'application/vnd.syncml.dmtnds+wbxml' | 'application/vnd.syncml.dmtnds+xml' | 'application/vnd.syncml.dmddf+wbxml' | 'application/vnd.syncml.dm+wbxml' | 'application/vnd.syncml.dm+xml' | 'application/vnd.syncml.ds.notification' | 'application/vnd.syncml+xml' | 'application/vnd.tableschema+json' | 'application/vnd.tao.intent-module-archive' | 'application/vnd.tcpdump.pcap' | 'application/vnd.think-cell.ppttc+json' | 'application/vnd.tml' | 'application/vnd.tmd.mediaflex.api+xml' | 'application/vnd.tmobile-livetv' | 'application/vnd.tri.onesource' | 'application/vnd.trid.tpt' | 'application/vnd.triscape.mxs' | 'application/vnd.trueapp' | 'application/vnd.truedoc' | 'application/vnd.ubisoft.webplayer' | 'application/vnd.ufdl' | 'application/vnd.uiq.theme' | 'application/vnd.umajin' | 'application/vnd.unity' | 'application/vnd.uoml+xml' | 'application/vnd.uplanet.alert' | 'application/vnd.uplanet.alert-wbxml' | 'application/vnd.uplanet.bearer-choice' | 'application/vnd.uplanet.bearer-choice-wbxml' | 'application/vnd.uplanet.cacheop' | 'application/vnd.uplanet.cacheop-wbxml' | 'application/vnd.uplanet.channel' | 'application/vnd.uplanet.channel-wbxml' | 'application/vnd.uplanet.list' | 'application/vnd.uplanet.listcmd' | 'application/vnd.uplanet.listcmd-wbxml' | 'application/vnd.uplanet.list-wbxml' | 'application/vnd.uri-map' | 'application/vnd.uplanet.signal' | 'application/vnd.valve.source.material' | 'application/vnd.vcx' | 'application/vnd.vd-study' | 'application/vnd.vectorworks' | 'application/vnd.vel+json' | 'application/vnd.verimatrix.vcas' | 'application/vnd.veritone.aion+json' | 'application/vnd.veryant.thin' | 'application/vnd.ves.encrypted' | 'application/vnd.vidsoft.vidconference' | 'application/vnd.visio' | 'application/vnd.visionary' | 'application/vnd.vividence.scriptfile' | 'application/vnd.vsf' | 'application/vnd.wap.sic' | 'application/vnd.wap.slc' | 'application/vnd.wap.wbxml' | 'application/vnd.wap.wmlc' | 'application/vnd.wap.wmlscriptc' | 'application/vnd.wasmflow.wafl' | 'application/vnd.webturbo' | 'application/vnd.wfa.dpp' | 'application/vnd.wfa.p2p' | 'application/vnd.wfa.wsc' | 'application/vnd.windows.devicepairing' | 'application/vnd.wmc' | 'application/vnd.wmf.bootstrap' | 'application/vnd.wolfram.mathematica' | 'application/vnd.wolfram.mathematica.package' | 'application/vnd.wolfram.player' | 'application/vnd.wordlift' | 'application/vnd.wordperfect' | 'application/vnd.wqd' | 'application/vnd.wrq-hp3000-labelled' | 'application/vnd.wt.stf' | 'application/vnd.wv.csp+xml' | 'application/vnd.wv.csp+wbxml' | 'application/vnd.wv.ssp+xml' | 'application/vnd.xacml+json' | 'application/vnd.xara' | 'application/vnd.xarin.cpj' | 'application/vnd.xecrets-encrypted' | 'application/vnd.xfdl' | 'application/vnd.xfdl.webform' | 'application/vnd.xmi+xml' | 'application/vnd.xmpie.cpkg' | 'application/vnd.xmpie.dpkg' | 'application/vnd.xmpie.plan' | 'application/vnd.xmpie.ppkg' | 'application/vnd.xmpie.xlim' | 'application/vnd.yamaha.hv-dic' | 'application/vnd.yamaha.hv-script' | 'application/vnd.yamaha.hv-voice' | 'application/vnd.yamaha.openscoreformat.osfpvg+xml' | 'application/vnd.yamaha.openscoreformat' | 'application/vnd.yamaha.remote-setup' | 'application/vnd.yamaha.smaf-audio' | 'application/vnd.yamaha.smaf-phrase' | 'application/vnd.yamaha.through-ngn' | 'application/vnd.yamaha.tunnel-udpencap' | 'application/vnd.yaoweme' | 'application/vnd.yellowriver-custom-menu' | 'application/vnd.youtube.yt' | 'application/vnd.zul' | 'application/vnd.zzazz.deck+xml' | 'application/voicexml+xml' | 'application/voucher-cms+json' | 'application/vp' | 'application/vq-rtcpxr' | 'application/wasm' | 'application/watcherinfo+xml' | 'application/webpush-options+json' | 'application/whoispp-query' | 'application/whoispp-response' | 'application/widget' | 'application/wita' | 'application/wordperfect5.1' | 'application/wsdl+xml' | 'application/wspolicy+xml' | 'application/x-pki-message' | 'application/x-www-form-urlencoded' | 'application/x-x509-ca-cert' | 'application/x-x509-ca-ra-cert' | 'application/x-x509-next-ca-cert' | 'application/x400-bp' | 'application/xacml+xml' | 'application/xcap-att+xml' | 'application/xcap-caps+xml' | 'application/xcap-diff+xml' | 'application/xcap-el+xml' | 'application/xcap-error+xml' | 'application/xcap-ns+xml' | 'application/xcon-conference-info-diff+xml' | 'application/xcon-conference-info+xml' | 'application/xenc+xml' | 'application/xfdf' | 'application/xhtml+xml' | 'application/xliff+xml' | 'application/xml' | 'application/xml-dtd' | 'application/xml-external-parsed-entity' | 'application/xml-patch+xml' | 'application/xmpp+xml' | 'application/xop+xml' | 'application/xslt+xml' | 'application/xv+xml' | 'application/yaml' | 'application/yang' | 'application/yang-data+cbor' | 'application/yang-data+json' | 'application/yang-data+xml' | 'application/yang-patch+json' | 'application/yang-patch+xml' | 'application/yang-sid+json' | 'application/yin+xml' | 'application/zip' | 'application/zlib' | 'application/zstd' | 'audio/1d-interleaved-parityfec' | 'audio/32kadpcm' | 'audio/3gpp' | 'audio/3gpp2' | 'audio/aac' | 'audio/ac3' | 'audio/AMR' | 'audio/AMR-WB' | 'audio/amr-wb+' | 'audio/aptx' | 'audio/asc' | 'audio/ATRAC-ADVANCED-LOSSLESS' | 'audio/ATRAC-X' | 'audio/ATRAC3' | 'audio/basic' | 'audio/BV16' | 'audio/BV32' | 'audio/clearmode' | 'audio/CN' | 'audio/DAT12' | 'audio/dls' | 'audio/dsr-es201108' | 'audio/dsr-es202050' | 'audio/dsr-es202211' | 'audio/dsr-es202212' | 'audio/DV' | 'audio/DVI4' | 'audio/eac3' | 'audio/encaprtp' | 'audio/EVRC' | 'audio/EVRC-QCP' | 'audio/EVRC0' | 'audio/EVRC1' | 'audio/EVRCB' | 'audio/EVRCB0' | 'audio/EVRCB1' | 'audio/EVRCNW' | 'audio/EVRCNW0' | 'audio/EVRCNW1' | 'audio/EVRCWB' | 'audio/EVRCWB0' | 'audio/EVRCWB1' | 'audio/EVS' | 'audio/example' | 'audio/flac' | 'audio/flexfec' | 'audio/fwdred' | 'audio/G711-0' | 'audio/G719' | 'audio/G7221' | 'audio/G722' | 'audio/G723' | 'audio/G726-16' | 'audio/G726-24' | 'audio/G726-32' | 'audio/G726-40' | 'audio/G728' | 'audio/G729' | 'audio/G7291' | 'audio/G729D' | 'audio/G729E' | 'audio/GSM' | 'audio/GSM-EFR' | 'audio/GSM-HR-08' | 'audio/iLBC' | 'audio/ip-mr_v2.5' | 'audio/L8' | 'audio/L16' | 'audio/L20' | 'audio/L24' | 'audio/LPC' | 'audio/matroska' | 'audio/MELP' | 'audio/MELP600' | 'audio/MELP1200' | 'audio/MELP2400' | 'audio/mhas' | 'audio/midi-clip' | 'audio/mobile-xmf' | 'audio/MPA' | 'audio/mp4' | 'audio/MP4A-LATM' | 'audio/mpa-robust' | 'audio/mpeg' | 'audio/mpeg4-generic' | 'audio/ogg' | 'audio/opus' | 'audio/parityfec' | 'audio/PCMA' | 'audio/PCMA-WB' | 'audio/PCMU' | 'audio/PCMU-WB' | 'audio/prs.sid' | 'audio/QCELP' | 'audio/raptorfec' | 'audio/RED' | 'audio/rtp-enc-aescm128' | 'audio/rtploopback' | 'audio/rtp-midi' | 'audio/rtx' | 'audio/scip' | 'audio/SMV' | 'audio/SMV0' | 'audio/SMV-QCP' | 'audio/sofa' | 'audio/sp-midi' | 'audio/speex' | 'audio/t140c' | 'audio/t38' | 'audio/telephone-event' | 'audio/TETRA_ACELP' | 'audio/TETRA_ACELP_BB' | 'audio/tone' | 'audio/TSVCIS' | 'audio/UEMCLIP' | 'audio/ulpfec' | 'audio/usac' | 'audio/VDVI' | 'audio/VMR-WB' | 'audio/vnd.3gpp.iufp' | 'audio/vnd.4SB' | 'audio/vnd.audiokoz' | 'audio/vnd.CELP' | 'audio/vnd.cisco.nse' | 'audio/vnd.cmles.radio-events' | 'audio/vnd.cns.anp1' | 'audio/vnd.cns.inf1' | 'audio/vnd.dece.audio' | 'audio/vnd.digital-winds' | 'audio/vnd.dlna.adts' | 'audio/vnd.dolby.heaac.1' | 'audio/vnd.dolby.heaac.2' | 'audio/vnd.dolby.mlp' | 'audio/vnd.dolby.mps' | 'audio/vnd.dolby.pl2' | 'audio/vnd.dolby.pl2x' | 'audio/vnd.dolby.pl2z' | 'audio/vnd.dolby.pulse.1' | 'audio/vnd.dra' | 'audio/vnd.dts' | 'audio/vnd.dts.hd' | 'audio/vnd.dts.uhd' | 'audio/vnd.dvb.file' | 'audio/vnd.everad.plj' | 'audio/vnd.hns.audio' | 'audio/vnd.lucent.voice' | 'audio/vnd.ms-playready.media.pya' | 'audio/vnd.nokia.mobile-xmf' | 'audio/vnd.nortel.vbk' | 'audio/vnd.nuera.ecelp4800' | 'audio/vnd.nuera.ecelp7470' | 'audio/vnd.nuera.ecelp9600' | 'audio/vnd.octel.sbc' | 'audio/vnd.presonus.multitrack' | 'audio/vnd.qcelp' | 'audio/vnd.rhetorex.32kadpcm' | 'audio/vnd.rip' | 'audio/vnd.sealedmedia.softseal.mpeg' | 'audio/vnd.vmx.cvsd' | 'audio/vorbis' | 'audio/vorbis-config' | 'font/collection' | 'font/otf' | 'font/sfnt' | 'font/ttf' | 'font/woff' | 'font/woff2' | 'haptics/ivs' | 'haptics/hjif' | 'haptics/hmpg' | 'image/aces' | 'image/apng' | 'image/avci' | 'image/avcs' | 'image/avif' | 'image/bmp' | 'image/cgm' | 'image/dicom-rle' | 'image/dpx' | 'image/emf' | 'image/example' | 'image/fits' | 'image/g3fax' | 'image/gif' | 'image/heic' | 'image/heic-sequence' | 'image/heif' | 'image/heif-sequence' | 'image/hej2k' | 'image/hsj2' | 'image/ief' | 'image/j2c' | 'image/jls' | 'image/jp2' | 'image/jpeg' | 'image/jph' | 'image/jphc' | 'image/jpm' | 'image/jpx' | 'image/jxl' | 'image/jxr' | 'image/jxrA' | 'image/jxrS' | 'image/jxs' | 'image/jxsc' | 'image/jxsi' | 'image/jxss' | 'image/ktx' | 'image/ktx2' | 'image/naplps' | 'image/png' | 'image/prs.btif' | 'image/prs.pti' | 'image/pwg-raster' | 'image/svg+xml' | 'image/t38' | 'image/tiff' | 'image/tiff-fx' | 'image/vnd.adobe.photoshop' | 'image/vnd.airzip.accelerator.azv' | 'image/vnd.cns.inf2' | 'image/vnd.dece.graphic' | 'image/vnd.djvu' | 'image/vnd.dwg' | 'image/vnd.dxf' | 'image/vnd.dvb.subtitle' | 'image/vnd.fastbidsheet' | 'image/vnd.fpx' | 'image/vnd.fst' | 'image/vnd.fujixerox.edmics-mmr' | 'image/vnd.fujixerox.edmics-rlc' | 'image/vnd.globalgraphics.pgb' | 'image/vnd.microsoft.icon' | 'image/vnd.mix' | 'image/vnd.ms-modi' | 'image/vnd.mozilla.apng' | 'image/vnd.net-fpx' | 'image/vnd.pco.b16' | 'image/vnd.radiance' | 'image/vnd.sealed.png' | 'image/vnd.sealedmedia.softseal.gif' | 'image/vnd.sealedmedia.softseal.jpg' | 'image/vnd.svf' | 'image/vnd.tencent.tap' | 'image/vnd.valve.source.texture' | 'image/vnd.wap.wbmp' | 'image/vnd.xiff' | 'image/vnd.zbrush.pcx' | 'image/webp' | 'image/wmf' | 'message/bhttp' | 'message/CPIM' | 'message/delivery-status' | 'message/disposition-notification' | 'message/example' | 'message/external-body' | 'message/feedback-report' | 'message/global' | 'message/global-delivery-status' | 'message/global-disposition-notification' | 'message/global-headers' | 'message/http' | 'message/imdn+xml' | 'message/mls' | 'message/news' | 'message/ohttp-req' | 'message/ohttp-res' | 'message/partial' | 'message/rfc822' | 'message/s-http' | 'message/sip' | 'message/sipfrag' | 'message/tracking-status' | 'message/vnd.si.simp' | 'message/vnd.wfa.wsc' | 'model/3mf' | 'model/e57' | 'model/example' | 'model/gltf-binary' | 'model/gltf+json' | 'model/JT' | 'model/iges' | 'model/mesh' | 'model/mtl' | 'model/obj' | 'model/prc' | 'model/step' | 'model/step+xml' | 'model/step+zip' | 'model/step-xml+zip' | 'model/stl' | 'model/u3d' | 'model/vnd.bary' | 'model/vnd.cld' | 'model/vnd.collada+xml' | 'model/vnd.dwf' | 'model/vnd.flatland.3dml' | 'model/vnd.gdl' | 'model/vnd.gs-gdl' | 'model/vnd.gtw' | 'model/vnd.moml+xml' | 'model/vnd.mts' | 'model/vnd.opengex' | 'model/vnd.parasolid.transmit.binary' | 'model/vnd.parasolid.transmit.text' | 'model/vnd.pytha.pyox' | 'model/vnd.rosette.annotated-data-model' | 'model/vnd.sap.vds' | 'model/vnd.usda' | 'model/vnd.usdz+zip' | 'model/vnd.valve.source.compiled-map' | 'model/vnd.vtu' | 'model/vrml' | 'model/x3d-vrml' | 'model/x3d+fastinfoset' | 'model/x3d+xml' | 'multipart/alternative' | 'multipart/appledouble' | 'multipart/byteranges' | 'multipart/digest' | 'multipart/encrypted' | 'multipart/example' | 'multipart/form-data' | 'multipart/header-set' | 'multipart/mixed' | 'multipart/multilingual' | 'multipart/parallel' | 'multipart/related' | 'multipart/report' | 'multipart/signed' | 'multipart/vnd.bint.med-plus' | 'multipart/voice-message' | 'multipart/x-mixed-replace' | 'text/1d-interleaved-parityfec' | 'text/cache-manifest' | 'text/calendar' | 'text/cql' | 'text/cql-expression' | 'text/cql-identifier' | 'text/css' | 'text/csv' | 'text/csv-schema' | 'text/directory' | 'text/dns' | 'text/ecmascript' | 'text/encaprtp' | 'text/enriched' | 'text/example' | 'text/fhirpath' | 'text/flexfec' | 'text/fwdred' | 'text/gff3' | 'text/grammar-ref-list' | 'text/hl7v2' | 'text/html' | 'text/javascript' | 'text/jcr-cnd' | 'text/markdown' | 'text/mizar' | 'text/n3' | 'text/parameters' | 'text/parityfec' | 'text/plain' | 'text/provenance-notation' | 'text/prs.fallenstein.rst' | 'text/prs.lines.tag' | 'text/prs.prop.logic' | 'text/prs.texi' | 'text/raptorfec' | 'text/RED' | 'text/rfc822-headers' | 'text/richtext' | 'text/rtf' | 'text/rtp-enc-aescm128' | 'text/rtploopback' | 'text/rtx' | 'text/SGML' | 'text/shaclc' | 'text/shex' | 'text/spdx' | 'text/strings' | 'text/t140' | 'text/tab-separated-values' | 'text/troff' | 'text/turtle' | 'text/ulpfec' | 'text/uri-list' | 'text/vcard' | 'text/vnd.a' | 'text/vnd.abc' | 'text/vnd.ascii-art' | 'text/vnd.curl' | 'text/vnd.debian.copyright' | 'text/vnd.DMClientScript' | 'text/vnd.dvb.subtitle' | 'text/vnd.esmertec.theme-descriptor' | 'text/vnd.exchangeable' | 'text/vnd.familysearch.gedcom' | 'text/vnd.ficlab.flt' | 'text/vnd.fly' | 'text/vnd.fmi.flexstor' | 'text/vnd.gml' | 'text/vnd.graphviz' | 'text/vnd.hans' | 'text/vnd.hgl' | 'text/vnd.in3d.3dml' | 'text/vnd.in3d.spot' | 'text/vnd.IPTC.NewsML' | 'text/vnd.IPTC.NITF' | 'text/vnd.latex-z' | 'text/vnd.motorola.reflex' | 'text/vnd.ms-mediapackage' | 'text/vnd.net2phone.commcenter.command' | 'text/vnd.radisys.msml-basic-layout' | 'text/vnd.senx.warpscript' | 'text/vnd.si.uricatalogue' | 'text/vnd.sun.j2me.app-descriptor' | 'text/vnd.sosi' | 'text/vnd.trolltech.linguist' | 'text/vnd.vcf' | 'text/vnd.wap.si' | 'text/vnd.wap.sl' | 'text/vnd.wap.wml' | 'text/vnd.wap.wmlscript' | 'text/vnd.zoo.kcl' | 'text/vtt' | 'text/wgsl' | 'text/xml' | 'text/xml-external-parsed-entity' | 'video/1d-interleaved-parityfec' | 'video/3gpp' | 'video/3gpp2' | 'video/3gpp-tt' | 'video/AV1' | 'video/BMPEG' | 'video/BT656' | 'video/CelB' | 'video/DV' | 'video/encaprtp' | 'video/evc' | 'video/example' | 'video/FFV1' | 'video/flexfec' | 'video/H261' | 'video/H263' | 'video/H263-1998' | 'video/H263-2000' | 'video/H264' | 'video/H264-RCDO' | 'video/H264-SVC' | 'video/H265' | 'video/H266' | 'video/iso.segment' | 'video/JPEG' | 'video/jpeg2000' | 'video/jxsv' | 'video/matroska' | 'video/matroska-3d' | 'video/mj2' | 'video/MP1S' | 'video/MP2P' | 'video/MP2T' | 'video/mp4' | 'video/MP4V-ES' | 'video/MPV' | 'video/mpeg' | 'video/mpeg4-generic' | 'video/nv' | 'video/ogg' | 'video/parityfec' | 'video/pointer' | 'video/quicktime' | 'video/raptorfec' | 'video/raw' | 'video/rtp-enc-aescm128' | 'video/rtploopback' | 'video/rtx' | 'video/scip' | 'video/smpte291' | 'video/SMPTE292M' | 'video/ulpfec' | 'video/vc1' | 'video/vc2' | 'video/vnd.CCTV' | 'video/vnd.dece.hd' | 'video/vnd.dece.mobile' | 'video/vnd.dece.mp4' | 'video/vnd.dece.pd' | 'video/vnd.dece.sd' | 'video/vnd.dece.video' | 'video/vnd.directv.mpeg' | 'video/vnd.directv.mpeg-tts' | 'video/vnd.dlna.mpeg-tts' | 'video/vnd.dvb.file' | 'video/vnd.fvt' | 'video/vnd.hns.video' | 'video/vnd.iptvforum.1dparityfec-1010' | 'video/vnd.iptvforum.1dparityfec-2005' | 'video/vnd.iptvforum.2dparityfec-1010' | 'video/vnd.iptvforum.2dparityfec-2005' | 'video/vnd.iptvforum.ttsavc' | 'video/vnd.iptvforum.ttsmpeg2' | 'video/vnd.motorola.video' | 'video/vnd.motorola.videop' | 'video/vnd.mpegurl' | 'video/vnd.ms-playready.media.pyv' | 'video/vnd.nokia.interleaved-multimedia' | 'video/vnd.nokia.mp4vr' | 'video/vnd.nokia.videovoip' | 'video/vnd.objectvideo' | 'video/vnd.radgamettools.bink' | 'video/vnd.radgamettools.smacker' | 'video/vnd.sealed.mpeg1' | 'video/vnd.sealed.mpeg4' | 'video/vnd.sealed.swf' | 'video/vnd.sealedmedia.softseal.mov' | 'video/vnd.uvvu.mp4' | 'video/vnd.youtube.yt' | 'video/vnd.vivo' | 'video/VP8' | 'video/VP9' | `X-${string}/${string}`;
11
+
10
12
  declare class Auth {
11
13
  #private;
12
14
  /**
@@ -167,81 +169,8 @@ interface LoginDataTransformer<T extends LoginData = LoginData> {
167
169
  (data: LoginData): Awaitable<T>;
168
170
  }
169
171
 
170
- declare class ApiRequest extends IncomingMessage {
171
- /**
172
- * The query parameters.
173
- */
174
- query: Record<string, string | string[]>;
175
- /**
176
- * The URI parameters.
177
- */
178
- params: Record<string, string>;
179
- /**
180
- * The body that was sent by the user.
181
- */
182
- body?: unknown;
183
- /**
184
- * The authorization information. This field indicates three possible values:
185
- *
186
- * - `undefined`: The authorization middleware has not been executed yet.
187
- * - `null`: The user is not authorized.
188
- * - `AuthData`: The user is authorized.
189
- */
190
- auth?: AuthData | null;
191
- }
192
-
193
- /**
194
- * @since 1.0.0
195
- */
196
- declare enum TypeState {
197
- /**
198
- * @since 1.0.0
199
- */
200
- Static = 0,
201
- /**
202
- * @since 1.0.0
203
- */
204
- Dynamic = 1
205
- }
206
- type MatchData = Record<string, string> | null;
207
- declare class RouteData {
208
- readonly path: string;
209
- private readonly static;
210
- private readonly parts;
211
- constructor(path: string);
212
- match(split: readonly string[]): MatchData;
213
- /**
214
- * @since 1.0.0
215
- */
216
- private static parsePart;
217
- /**
218
- * @since 1.0.0
219
- */
220
- private static split;
221
- }
222
- interface ParsedPart {
223
- value: string;
224
- type: TypeState;
225
- }
226
-
227
- declare enum MimeTypes {
228
- ApplicationFormUrlEncoded = "application/x-www-form-urlencoded",
229
- ApplicationJson = "application/json",
230
- AudioOgg = "audio/ogg",
231
- AudioOpus = "audio/opus",
232
- AudioWebm = "audio/webm",
233
- ImageGif = "image/gif",
234
- ImageJpg = "image/jpeg",
235
- ImagePng = "image/png",
236
- ImageWebp = "image/webp",
237
- ImageXIcon = "image/x-icon",
238
- TextPlain = "text/plain",
239
- TextHtml = "text/html",
240
- VideoMp4 = "video/mp4",
241
- VideoMpeg = "video/mpeg",
242
- VideoOgg = "video/ogg",
243
- VideoWebm = "video/webm"
244
- }
172
+ type MethodName = (typeof MethodNames)[number];
173
+ declare const MethodNames: readonly ["ACL", "BIND", "CHECKOUT", "CONNECT", "COPY", "DELETE", "GET", "HEAD", "LINK", "LOCK", "M-SEARCH", "MERGE", "MKACTIVITY", "MKCALENDAR", "MKCOL", "MOVE", "NOTIFY", "OPTIONS", "PATCH", "POST", "PROPFIND", "PROPPATCH", "PURGE", "PUT", "REBIND", "REPORT", "SEARCH", "SOURCE", "SUBSCRIBE", "TRACE", "UNBIND", "UNLINK", "UNLOCK", "UNSUBSCRIBE"];
245
174
 
246
175
  declare class CookieStore extends Map<string, string> {
247
176
  protected request: ApiRequest;
@@ -307,6 +236,10 @@ declare class ApiResponse<Request extends IncomingMessage = IncomingMessage> ext
307
236
  * @since 1.0.0
308
237
  */
309
238
  notFound(data?: unknown): void;
239
+ /**
240
+ * @since 7.0.0
241
+ */
242
+ methodNotAllowed(data?: unknown): void;
310
243
  /**
311
244
  * @since 1.0.0
312
245
  */
@@ -336,10 +269,10 @@ declare class ApiResponse<Request extends IncomingMessage = IncomingMessage> ext
336
269
  *
337
270
  * Sets the image content type and sends the image data in the response.
338
271
  *
339
- * @param type - The MIME type of the image (e.g., {@link MimeTypes.ImagePng}).
272
+ * @param type - The MIME type of the image (e.g., 'image/png').
340
273
  * @param data - The image data as a `string`, {@link Buffer}, {@link Uint8Array}, or {@link ReadableStream}.
341
274
  */
342
- image(type: MimeTypes.ImageGif | MimeTypes.ImageJpg | MimeTypes.ImagePng | MimeTypes.ImageWebp | MimeTypes.ImageXIcon, data: string | Buffer | Uint8Array | Readable): void;
275
+ image(type: Extract<MimeType, `image/${string}`>, data: string | Buffer | Uint8Array | Readable): void;
343
276
  /**
344
277
  * @since 5.1.0
345
278
  */
@@ -347,35 +280,16 @@ declare class ApiResponse<Request extends IncomingMessage = IncomingMessage> ext
347
280
  /**
348
281
  * @since 1.0.0
349
282
  */
350
- setContentType(contentType: MimeTypes): this;
351
- }
352
-
353
- type Methods = 'ACL' | 'BIND' | 'CHECKOUT' | 'CONNECT' | 'COPY' | 'DELETE' | 'GET' | 'HEAD' | 'LINK' | 'LOCK' | 'M-SEARCH' | 'MERGE' | 'MKACTIVITY' | 'MKCALENDAR' | 'MKCOL' | 'MOVE' | 'NOTIFY' | 'OPTIONS' | 'PATCH' | 'POST' | 'PRI' | 'PROPFIND' | 'PROPPATCH' | 'PURGE' | 'PUT' | 'REBIND' | 'REPORT' | 'SEARCH' | 'SOURCE' | 'SUBSCRIBE' | 'TRACE' | 'UNBIND' | 'UNLINK' | 'UNLOCK' | 'UNSUBSCRIBE';
354
- declare const methods: Record<Methods, symbol>;
355
- declare const methodEntries: readonly [Methods, symbol][];
356
-
357
- interface MethodCallback {
358
- (request: ApiRequest, response: ApiResponse): unknown;
359
- }
360
- interface RouteMatch {
361
- route: Route;
362
- cb: MethodCallback;
363
- }
364
- /**
365
- * @since 1.0.0
366
- */
367
- declare class RouteStore extends Store<Route, 'routes'> {
368
- readonly table: Collection<Methods, Collection<Route<RouteOptions>, MethodCallback>>;
369
- constructor();
370
- match(request: ApiRequest): RouteMatch | null;
371
- private parseURL;
283
+ setContentType(contentType: MimeType): this;
372
284
  }
373
285
 
374
286
  interface RouteOptions extends Piece.Options {
375
287
  /**
376
288
  * The route the piece should represent.
377
289
  * @since 1.0.0
378
- * @default ''
290
+ *
291
+ * @defaultValue The filesystem-based path, or the name if the location is virtual.
292
+ *
379
293
  * @example
380
294
  * ```typescript
381
295
  * '/users'
@@ -391,18 +305,61 @@ interface RouteOptions extends Piece.Options {
391
305
  /**
392
306
  * (RFC 7230 3.3.2) The maximum decimal number of octets.
393
307
  * @since 1.0.0
394
- * @default this.context.server.options.maximumBodyLength ?? 1024 * 1024 * 50
308
+ *
309
+ * @defaultValue this.context.server.options.maximumBodyLength ?? 1024 * 1024 * 50
395
310
  */
396
311
  maximumBodyLength?: number;
397
312
  /**
398
313
  * The accepted content types for this route. If set to null, the route will accept any data.
399
314
  * @since 1.3.0
400
- * @default this.context.server.options.acceptedContentMimeTypes ?? null
315
+ *
316
+ * @defaultValue this.context.server.options.acceptedContentMimeTypes ?? null
401
317
  */
402
- acceptedContentMimeTypes?: MimeTypeWithoutParameters[] | null;
318
+ acceptedContentMimeTypes?: readonly MimeType[] | null;
319
+ /**
320
+ * The methods this route accepts.
321
+ * @since 7.0.0
322
+ *
323
+ * @defaultValue The method defined in the piece name, or none if not set.
324
+ */
325
+ methods?: readonly MethodName[];
403
326
  }
404
327
  /**
405
328
  * @since 1.0.0
329
+ *
330
+ * @example A simple GET route that returns a JSON response:
331
+ * ```typescript
332
+ * // hello.get.ts
333
+ * import { Route } from '@sapphire/plugin-api';
334
+ *
335
+ * export class MyRoute extends Route {
336
+ * public run(request: Route.Request, response: Route.Response) {
337
+ * return response.json({ message: 'Hello, World!' });
338
+ * }
339
+ * }
340
+ * ```
341
+ *
342
+ * ```bash
343
+ * $ curl http://localhost:4000/hello
344
+ * {"message":"Hello, World!"}
345
+ * ```
346
+ *
347
+ * @example A simple POST route that reads the body and returns it:
348
+ * ```typescript
349
+ * // echo.post.ts
350
+ * import { Route } from '@sapphire/plugin-api';
351
+ *
352
+ * export class MyRoute extends Route {
353
+ * public run(request: Route.Request, response: Route.Response) {
354
+ * return response.json(request.params);
355
+ * }
356
+ * }
357
+ * ```
358
+ *
359
+ * ```bash
360
+ * $ curl -X POST -H "Content-Type: application/json" -d '{"hello":"world"}' http://localhost:4000/echo
361
+ * {"hello":"world"}
362
+ * ```
406
363
  */
407
364
  declare abstract class Route<Options extends Route.Options = Route.Options> extends Piece<Options, 'routes'> {
408
365
  /**
@@ -412,26 +369,17 @@ declare abstract class Route<Options extends Route.Options = Route.Options> exte
412
369
  /**
413
370
  * The accepted content types.
414
371
  */
415
- readonly acceptedContentMimeTypes: readonly MimeTypeWithoutParameters[] | null;
372
+ readonly acceptedContentMimeTypes: readonly MimeType[] | null;
416
373
  /**
417
- * The route information.
374
+ * The path this route represents.
418
375
  */
419
- readonly router: RouteData;
376
+ readonly path: readonly string[];
420
377
  /**
421
378
  * The methods this route accepts.
422
379
  */
423
- readonly methods: Collection<Methods, MethodCallback>;
380
+ readonly methods: ReadonlySet<MethodName>;
424
381
  constructor(context: Route.LoaderContext, options?: Options);
425
- /**
426
- * Per-piece listener that is called when the piece is loaded into the store.
427
- * Useful to set-up asynchronous initialization tasks.
428
- */
429
- onLoad(): Awaitable<unknown>;
430
- /**
431
- * Per-piece listener that is called when the piece is unloaded from the store.
432
- * Useful to set-up clean-up tasks.
433
- */
434
- onUnload(): Awaitable<unknown>;
382
+ abstract run(request: Route.Request, response: Route.Response): Awaitable<unknown>;
435
383
  }
436
384
  declare namespace Route {
437
385
  /** @deprecated Use {@linkcode LoaderContext} instead. */
@@ -444,6 +392,141 @@ declare namespace Route {
444
392
  type Response = ApiResponse;
445
393
  }
446
394
 
395
+ declare class RouterBranch {
396
+ /**
397
+ * The name of the branch.
398
+ */
399
+ readonly name: string;
400
+ /**
401
+ * Whether or not the branch is dynamic.
402
+ */
403
+ readonly dynamic: boolean;
404
+ /**
405
+ * The parent branch, if any.
406
+ */
407
+ readonly parent: RouterBranch | null;
408
+ /**
409
+ * The node this branch is associated with.
410
+ */
411
+ readonly node: RouterNode;
412
+ /**
413
+ * The methods supported by the branch's node or any of its children.
414
+ */
415
+ supportedMethods: readonly string[];
416
+ private _staticChildren;
417
+ private _dynamicChild;
418
+ constructor(name: string, dynamic: boolean, parent: RouterBranch | null);
419
+ /**
420
+ * The path representing this branch
421
+ * @version 7.0.0
422
+ */
423
+ get path(): string;
424
+ /**
425
+ * The branches the branch is associated with
426
+ * @version 7.0.0
427
+ */
428
+ get children(): RouterBranch[];
429
+ /**
430
+ * Whether or not the branch is empty
431
+ * @version 7.0.0
432
+ */
433
+ get empty(): boolean;
434
+ /**
435
+ * Tries to find a branch given a path
436
+ * @version 7.0.0
437
+ *
438
+ * @param parts The parts of a path to find a node from
439
+ * @returns The branch found, or null if not found
440
+ */
441
+ find(parts: readonly string[]): RouterBranch | null;
442
+ /**
443
+ * Checks if the given name matches the branch
444
+ * @version 7.0.0
445
+ *
446
+ * @param name The name to match
447
+ * @returns Whether or not the branch matches the name
448
+ */
449
+ matches(name: string): boolean;
450
+ /**
451
+ * Returns the string representation of the branch
452
+ * @version 7.0.0
453
+ *
454
+ * @returns The string representation of the branch
455
+ */
456
+ toString(): string;
457
+ nodes(): IterableIterator<RouterNode>;
458
+ protected _add(parts: readonly string[], index: number, route: Route): RouterNode;
459
+ protected _remove(parts: readonly string[], index: number, route: Route): boolean;
460
+ protected _performAdd(parts: readonly string[], index: number, route: Route): RouterNode;
461
+ protected _performRemove(parts: readonly string[], index: number, route: Route): boolean;
462
+ protected _find(parts: readonly string[], index: number): RouterBranch | null;
463
+ protected _updateSupportedChildrenMethods(): void;
464
+ }
465
+
466
+ declare class RouterNode {
467
+ #private;
468
+ /**
469
+ * The branch containing this node.
470
+ */
471
+ readonly parent: RouterBranch;
472
+ constructor(parent: RouterBranch);
473
+ get path(): string;
474
+ extractParameters(parts: readonly string[]): Record<string, string>;
475
+ get(method: MethodName): Route | null;
476
+ set(method: MethodName, route: Route): this;
477
+ delete(method: MethodName, route: Route): boolean;
478
+ methods(): IterableIterator<MethodName>;
479
+ }
480
+
481
+ declare class ApiRequest extends IncomingMessage {
482
+ /**
483
+ * The query parameters.
484
+ */
485
+ query: Record<string, string | string[]>;
486
+ /**
487
+ * The URI parameters.
488
+ */
489
+ params: Record<string, string>;
490
+ /**
491
+ * The body that was sent by the user.
492
+ */
493
+ body?: unknown;
494
+ /**
495
+ * The authorization information. This field indicates three possible values:
496
+ *
497
+ * - `undefined`: The authorization middleware has not been executed yet.
498
+ * - `null`: The user is not authorized.
499
+ * - `AuthData`: The user is authorized.
500
+ */
501
+ auth?: AuthData | null;
502
+ /**
503
+ * The router node that matched the request. The field indicates three
504
+ * possible values:
505
+ *
506
+ * - `undefined`: The router handler has not been executed yet.
507
+ * - `null`: The router handler has been executed, but no node matched the
508
+ * request.
509
+ * - `RouterNode`: The router handler has been executed and a node matched
510
+ * the request.
511
+ *
512
+ * @since 7.0.0
513
+ */
514
+ routerNode?: RouterNode | null;
515
+ /**
516
+ * The route that matched the request. The field indicates three possible
517
+ * values:
518
+ *
519
+ * - `undefined`: The router handler has not been executed yet.
520
+ * - `null`: The router handler has been executed, but no route matched the
521
+ * request.
522
+ * - `Route`: The router handler has been executed and a route matched the
523
+ * request.
524
+ *
525
+ * @since 7.0.0
526
+ */
527
+ route?: Route | null;
528
+ }
529
+
447
530
  /**
448
531
  * A media parser
449
532
  * @since 1.3.0
@@ -454,7 +537,7 @@ declare abstract class MediaParser<Options extends MediaParser.Options = MediaPa
454
537
  * Parses the body data from an API request.
455
538
  * @since 1.3.0
456
539
  */
457
- abstract run(request: ApiRequest): Awaitable<unknown>;
540
+ abstract run(request: MediaParser.Request): Awaitable<unknown>;
458
541
  /**
459
542
  * Checks if a route accepts the media type from this parser.
460
543
  * @since 1.3.0
@@ -466,19 +549,19 @@ declare abstract class MediaParser<Options extends MediaParser.Options = MediaPa
466
549
  * @since 1.3.0
467
550
  * @param request The request to read the body from.
468
551
  */
469
- protected readString(request: ApiRequest): Promise<string>;
552
+ protected readString(request: MediaParser.Request): Promise<string>;
470
553
  /**
471
554
  * Reads the content body as a buffer, this is useful for parsing/reading binary data.
472
555
  * @since 1.3.0
473
556
  * @param request The request to read the body from.
474
557
  */
475
- protected readBuffer(request: ApiRequest): Promise<Buffer>;
558
+ protected readBuffer(request: MediaParser.Request): Promise<Buffer>;
476
559
  /**
477
560
  * Reads the content stream from a request, piping the data through a transformer stream.
478
561
  * @since 1.3.0
479
562
  * @param request The request to read the body from.
480
563
  */
481
- protected contentStream(request: ApiRequest): ApiRequest | Gunzip | null;
564
+ protected contentStream(request: MediaParser.Request): MediaParser.Request | Gunzip | null;
482
565
  }
483
566
  declare namespace MediaParser {
484
567
  /** @deprecated Use {@linkcode LoaderContext} instead. */
@@ -487,6 +570,7 @@ declare namespace MediaParser {
487
570
  type Options = Piece.Options;
488
571
  type JSON = Piece.JSON;
489
572
  type LocationJSON = Piece.LocationJSON;
573
+ type Request = ApiRequest;
490
574
  }
491
575
 
492
576
  /**
@@ -535,7 +619,7 @@ declare abstract class Middleware<Options extends Middleware.Options = Middlewar
535
619
  * @param response The server's response.
536
620
  * @param route The route that matched this request, will be `null` if none matched.
537
621
  */
538
- abstract run(request: ApiRequest, response: ApiResponse, route: Route | null): Awaitable<unknown>;
622
+ abstract run(request: Middleware.Request, response: Middleware.Response): Awaitable<unknown>;
539
623
  }
540
624
  declare namespace Middleware {
541
625
  /** @deprecated Use {@linkcode LoaderContext} instead. */
@@ -544,6 +628,8 @@ declare namespace Middleware {
544
628
  type Options = MiddlewareOptions;
545
629
  type JSON = Piece.JSON;
546
630
  type LocationJSON = Piece.LocationJSON;
631
+ type Request = ApiRequest;
632
+ type Response = ApiResponse;
547
633
  }
548
634
 
549
635
  /**
@@ -555,26 +641,68 @@ declare class MiddlewareStore extends Store<Middleware, 'middlewares'> {
555
641
  */
556
642
  readonly sortedMiddlewares: Middleware[];
557
643
  constructor();
558
- run(request: ApiRequest, response: ApiResponse, route: Route | null): Promise<void>;
644
+ run(request: Middleware.Request, response: Middleware.Response): Promise<void>;
559
645
  set(key: string, value: Middleware): this;
560
646
  delete(key: string): boolean;
561
647
  clear(): void;
562
648
  }
563
649
 
564
- declare enum ServerEvents {
650
+ declare class RouterRoot extends RouterBranch {
651
+ constructor();
652
+ /**
653
+ * Adds a route to the branch
654
+ *
655
+ * @param route The route to add
656
+ * @returns The node the route was added to
657
+ */
658
+ add(route: Route): RouterNode;
659
+ /**
660
+ * Removes a route from the branch
661
+ *
662
+ * @param route The route to remove
663
+ * @returns Whether or not the route was removed
664
+ */
665
+ remove(route: Route): boolean;
666
+ get path(): string;
667
+ toString(): string;
668
+ static normalize(path: string | null | undefined): string[];
669
+ static extractMethod(path: readonly string[]): MethodName | null;
670
+ }
671
+
672
+ /**
673
+ * @since 1.0.0
674
+ */
675
+ declare class RouteStore extends Store<Route, 'routes'> {
676
+ readonly router: RouterRoot;
677
+ constructor();
678
+ }
679
+
680
+ declare enum ServerEvent {
565
681
  Error = "error",
566
682
  Request = "request",
567
- Match = "match",
568
- NoMatch = "noMatch",
683
+ RouterBranchNotFound = "routerBranchNotFound",
684
+ RouterBranchMethodNotAllowed = "routerBranchMethodNotAllowed",
685
+ RouterFound = "routerFound",
569
686
  RouteError = "routeError",
570
687
  MiddlewareFailure = "middlewareFailure",
571
688
  MiddlewareError = "middlewareError",
572
689
  MiddlewareSuccess = "middlewareSuccess"
573
690
  }
691
+ interface ServerEvents {
692
+ [ServerEvent.Error]: [error: Error, request: ApiRequest, response: ApiResponse];
693
+ [ServerEvent.Request]: [request: ApiRequest, response: ApiResponse];
694
+ [ServerEvent.RouterBranchNotFound]: [request: ApiRequest, response: ApiResponse];
695
+ [ServerEvent.RouterBranchMethodNotAllowed]: [request: ApiRequest, response: ApiResponse, node: RouterBranch];
696
+ [ServerEvent.RouterFound]: [request: ApiRequest, response: ApiResponse];
697
+ [ServerEvent.RouteError]: [error: Error, request: ApiRequest, response: ApiResponse];
698
+ [ServerEvent.MiddlewareFailure]: [request: ApiRequest, response: ApiResponse];
699
+ [ServerEvent.MiddlewareSuccess]: [request: Route.Request, response: Route.Response, route: Route];
700
+ [ServerEvent.MiddlewareError]: [error: Error, request: ApiRequest, response: ApiResponse];
701
+ }
574
702
  /**
575
703
  * @since 1.0.0
576
704
  */
577
- declare class Server extends EventEmitter {
705
+ declare class Server extends AsyncEventEmitter<ServerEvents> {
578
706
  /**
579
707
  * The routes this server holds.
580
708
  * @since 1.0.0
@@ -639,14 +767,15 @@ type ContentTypeParameter = `; ${string}=${string}`;
639
767
  /**
640
768
  * RFC 1341 4: Defines the syntax for a Content-Type field without parameters, which follows the following structure:
641
769
  * `type "/" subtype`.
770
+ * @since 7.0.0
642
771
  */
643
- type MimeTypeWithoutParameters = `${ContentTypeType}/${string}`;
772
+ type GenericMimeType = `${ContentTypeType}/${string}`;
644
773
  /**
645
774
  * RFC 1341 4: Defines the syntax for a Content-Type field, which follows the following structure:
646
775
  * `type "/" subtype *[";" parameter]`.
647
- * @since 1.3.0
776
+ * @since 7.0.0
648
777
  */
649
- type MimeType = `${MimeTypeWithoutParameters}${'' | ContentTypeParameter}`;
778
+ type GenericParametrizedMimeType = `${GenericMimeType}${'' | ContentTypeParameter}`;
650
779
  /**
651
780
  * The API options.
652
781
  * @since 1.0.0
@@ -675,7 +804,7 @@ interface ServerOptions {
675
804
  * @since 1.3.0
676
805
  * @default null
677
806
  */
678
- acceptedContentMimeTypes?: MimeTypeWithoutParameters[] | null;
807
+ acceptedContentMimeTypes?: MimeType[] | null;
679
808
  /**
680
809
  * The HTTP server options.
681
810
  * @since 1.0.0
@@ -707,27 +836,6 @@ interface ServerOptions {
707
836
  * @since 1.0.0
708
837
  */
709
838
  type AuthLessServerOptions = Omit<ServerOptions, 'auth'>;
710
- /**
711
- * The context sent in the error events.
712
- * @since 1.2.0
713
- */
714
- interface MiddlewareErrorContext {
715
- /**
716
- * The erroneous request.
717
- * @since 1.2.0
718
- */
719
- request: ApiRequest;
720
- /**
721
- * The server's response.
722
- * @since 1.2.0
723
- */
724
- response: ApiResponse;
725
- /**
726
- * The route match.
727
- * @since 1.2.0
728
- */
729
- match: RouteMatch;
730
- }
731
839
 
732
840
  declare enum HttpCodes {
733
841
  /**
@@ -1141,4 +1249,4 @@ declare module '@sapphire/pieces' {
1141
1249
  */
1142
1250
  declare const version: string;
1143
1251
 
1144
- export { ApiRequest, ApiResponse, Auth, type AuthData, type AuthLessServerOptions, type ContentTypeParameter, type ContentTypeType, CookieStore, HttpCodes, type LoginData, type LoginDataTransformer, type MatchData, MediaParser, MediaParserStore, type MethodCallback, type Methods, Middleware, type MiddlewareErrorContext, type MiddlewareOptions, MiddlewareStore, type MimeType, type MimeTypeWithoutParameters, MimeTypes, type ParsedPart, Route, RouteData, type RouteMatch, type RouteOptions, RouteStore, type SecureCookieStoreSetOptions, Server, ServerEvents, type ServerOptions, type ServerOptionsAuth, TypeState, loadListeners, loadMediaParsers, loadMiddlewares, loadRoutes, methodEntries, methods, version };
1252
+ export { ApiRequest, ApiResponse, Auth, type AuthData, type AuthLessServerOptions, type ContentTypeParameter, type ContentTypeType, CookieStore, type GenericMimeType, type GenericParametrizedMimeType, HttpCodes, type LoginData, type LoginDataTransformer, MediaParser, MediaParserStore, type MethodName, MethodNames, Middleware, type MiddlewareOptions, MiddlewareStore, type MimeType, Route, type RouteOptions, RouteStore, RouterBranch, RouterNode, RouterRoot, type SecureCookieStoreSetOptions, Server, ServerEvent, type ServerEvents, type ServerOptions, type ServerOptionsAuth, loadListeners, loadMediaParsers, loadMiddlewares, loadRoutes, version };