Files
discogs-service/docs/data/documentation/discogsservice.json
T
javier 791ebf4f78 Implemented the User Agent middleware (#6)
This PR contains the work done to implement the `UserAgentMiddleware` middleware that includes user agent information into a header of the requests sent by the `Client` type, as defined in the [Discogs documentation](https://www.discogs.com/developers/#page:home,header:home-general-information). For this purpose, the `CamelCaseValidationRule`, `SemanticVersionValidationRule` and `URLValidationRule` types were implemented and integrated into the existing `ValidateInputUseCase` type.

Reviewed-on: #6
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
2025-10-13 00:54:17 +00:00

1 line
9.6 KiB
JSON

{"sections":[],"hierarchy":{"paths":[[]]},"variants":[{"paths":["\/documentation\/discogsservice"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/DiscogsService\/documentation\/DiscogsService","interfaceLanguage":"swift"},"kind":"symbol","schemaVersion":{"minor":3,"major":0,"patch":0},"topicSections":[{"title":"Clients","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Client"],"anchor":"Clients"},{"title":"Servers","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Servers\/Server1"],"anchor":"Servers"},{"title":"Authentication","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMiddleware","doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod","doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthTransport"],"anchor":"Authentication"},{"title":"User Agent","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/UserAgentMiddleware","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Product","doc:\/\/DiscogsService\/documentation\/DiscogsService\/InputValidationError"],"anchor":"User-Agent"},{"title":"Types","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Servers"],"anchor":"Types"},{"title":"Protocols","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/APIProtocol"],"anchor":"Protocols"}],"metadata":{"externalID":"DiscogsService","roleHeading":"Framework","title":"DiscogsService","modules":[{"name":"DiscogsService"}],"symbolKind":"module","role":"collection"},"primaryContentSections":[{"content":[{"text":"Overview","type":"heading","level":2,"anchor":"Overview"}],"kind":"content"}],"references":{"doc://DiscogsService/documentation/DiscogsService/AuthMiddleware":{"abstract":[{"type":"text","text":"A middleware that attaches any defined authentication credentials into the requests to the service."}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMiddleware","type":"topic","kind":"symbol","url":"\/documentation\/discogsservice\/authmiddleware","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"AuthMiddleware"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AuthMiddleware"}],"title":"AuthMiddleware"},"doc://DiscogsService/documentation/DiscogsService/UserAgentMiddleware":{"abstract":[{"type":"text","text":"A middleware that attaches the user agent header into the requests to the service."}],"type":"topic","kind":"symbol","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"UserAgentMiddleware"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"UserAgentMiddleware"}],"title":"UserAgentMiddleware","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/UserAgentMiddleware","url":"\/documentation\/discogsservice\/useragentmiddleware"},"doc://DiscogsService/documentation/DiscogsService/AuthTransport":{"url":"\/documentation\/discogsservice\/authtransport","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthTransport","kind":"identifier"}],"navigatorTitle":[{"text":"AuthTransport","kind":"identifier"}],"abstract":[{"type":"text","text":"A representation of the available transport options to send credentials in authenticated requests."}],"title":"AuthTransport","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthTransport","type":"topic","kind":"symbol","role":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Product":{"type":"topic","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"Product"}],"abstract":[{"type":"text","text":"A type that represents a product that uses the "},{"isActive":true,"type":"reference","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Client"},{"type":"text","text":" client."}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Product","title":"Product","url":"\/documentation\/discogsservice\/product","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Product"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Client":{"url":"\/documentation\/discogsservice\/client","type":"topic","title":"Client","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Client","kind":"identifier"}],"navigatorTitle":[{"text":"Client","kind":"identifier"}],"abstract":[{"text":"The Discogs API v2.0 is a RESTful interface to Discogs data. You can access JSON-formatted information about Database objects such as ","type":"text"},{"inlineContent":[{"type":"text","text":"Artists"}],"type":"emphasis"},{"text":", ","type":"text"},{"inlineContent":[{"type":"text","text":"Releases"}],"type":"emphasis"},{"text":", and ","type":"text"},{"inlineContent":[{"type":"text","text":"Labels"}],"type":"emphasis"},{"text":". Your application can also manage ","type":"text"},{"inlineContent":[{"type":"text","text":"User Collections"}],"type":"emphasis"},{"text":" and ","type":"text"},{"inlineContent":[{"type":"text","text":"Wantlists"}],"type":"emphasis"},{"text":", create ","type":"text"},{"inlineContent":[{"type":"text","text":"Marketplace"}],"type":"emphasis"},{"text":" listings, and more.","type":"text"}],"role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Client"},"doc://DiscogsService/documentation/DiscogsService/InputValidationError":{"role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/InputValidationError","abstract":[{"type":"text","text":"A representation of all the possible validation error that could be thrown while validating an input."}],"navigatorTitle":[{"text":"InputValidationError","kind":"identifier"}],"type":"topic","kind":"symbol","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"InputValidationError","kind":"identifier"}],"title":"InputValidationError","url":"\/documentation\/discogsservice\/inputvalidationerror"},"doc://DiscogsService/documentation/DiscogsService":{"title":"DiscogsService","role":"collection","abstract":[],"kind":"symbol","type":"topic","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService","url":"\/documentation\/discogsservice"},"doc://DiscogsService/documentation/DiscogsService/AuthMethod":{"role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/AuthMethod","abstract":[{"text":"A representation of the available authentication methods at the Discogs service.","type":"text"}],"navigatorTitle":[{"text":"AuthMethod","kind":"identifier"}],"type":"topic","kind":"symbol","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthMethod","kind":"identifier"}],"title":"AuthMethod","url":"\/documentation\/discogsservice\/authmethod"},"doc://DiscogsService/documentation/DiscogsService/Servers":{"title":"Servers","kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Servers","abstract":[{"type":"text","text":"Server URLs defined in the OpenAPI document."}],"navigatorTitle":[{"text":"Servers","kind":"identifier"}],"fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Servers","kind":"identifier"}],"role":"symbol","type":"topic","url":"\/documentation\/discogsservice\/servers"},"doc://DiscogsService/documentation/DiscogsService/Operations":{"type":"topic","title":"Operations","navigatorTitle":[{"text":"Operations","kind":"identifier"}],"abstract":[{"type":"text","text":"API operations, with input and output types, generated from "},{"type":"codeVoice","code":"#\/paths"},{"type":"text","text":" in the OpenAPI document."}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations","role":"symbol","url":"\/documentation\/discogsservice\/operations","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Operations","kind":"identifier"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Servers/Server1":{"type":"topic","kind":"symbol","navigatorTitle":[{"text":"Server1","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Servers\/Server1","abstract":[{"text":"Live Server","type":"text"}],"role":"symbol","url":"\/documentation\/discogsservice\/servers\/server1","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Server1","kind":"identifier"}],"title":"Servers.Server1"},"doc://DiscogsService/documentation/DiscogsService/Components":{"role":"symbol","title":"Components","kind":"symbol","type":"topic","abstract":[{"type":"text","text":"Types generated from the components section of the OpenAPI document."}],"navigatorTitle":[{"kind":"identifier","text":"Components"}],"url":"\/documentation\/discogsservice\/components","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"kind":"identifier","text":"Components"}]},"doc://DiscogsService/documentation/DiscogsService/APIProtocol":{"role":"symbol","title":"APIProtocol","kind":"symbol","type":"topic","abstract":[{"type":"text","text":"A type that performs HTTP operations defined by the OpenAPI document."}],"navigatorTitle":[{"text":"APIProtocol","kind":"identifier"}],"url":"\/documentation\/discogsservice\/apiprotocol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/APIProtocol","fragments":[{"text":"protocol","kind":"keyword"},{"text":" ","kind":"text"},{"text":"APIProtocol","kind":"identifier"}]}}}