Sobre o projeto

O Soenneker.Docker.Hub.OpenApiClient é um cliente .NET gerado pelo Kiota para a API do Docker Hub. Ele é empacotado para NuGet e pode ser adicionado com `dotnet add package Soenneker.Docker.Hub.OpenApiClient`. Para criar um cliente, o README mostra a construção de um `HttpClient`, a configuração de um cabeçalho de autorização Bearer, a criação de um `HttpClientRequestAdapter` com um `AnonymousAuthenticationProvider` e o `HttpClient`, a definição da URL base para `https://hub.docker.com` e a instanciação do `DockerHubOpenApiClient` com o adaptador. Recomenda-se manter o token fora do controle de versão e reutilizar o `HttpClient`, o adaptador e o cliente gerado. Um pacote complementar, `Soenneker.Docker.Hub.OpenApiClientUtil`, fornece registro de injeção de dependência e construção em cache. O README inclui um exemplo de listagem de tokens de acesso pessoal através de `client.V2.AccessTokens.GetAsync`, definindo os parâmetros de consulta `Page` e `PageSize`, e lendo a coleção `Results` da resposta. A paginação é explícita: os chamadores usam `Next`, `Previous` e `Count` da resposta para decidir qual página solicitar a seguir, e o cliente não enumera automaticamente todos os resultados. Os builders de requisição seguem a hierarquia da URL, começando em `client.V2`, e os indexadores de coleção fornecem parâmetros de caminho, como um UUID de token de acesso ou nome de organização. O Kiota mapeia respostas de não-sucesso documentadas para modelos gerados que derivam de `ApiException`; o tipo exato de erro depende do endpoint. Por exemplo, a listagem de tokens de acesso mapeia `400` para `ValueError` e `401` para `Error`. O README recomenda preservar esses detalhes ao registrar ou traduzir falhas e permitir que o cancelamento flua para o chamador. O cliente e os modelos são gerados, portanto, o README alerta contra a edição direta deles, pois a regeneração substitui essas alterações. Nomes de endpoints, nulidade, mapeamentos de erro e formatos de modelos podem mudar quando a especificação do Docker Hub for alterada, portanto, as atualizações do pacote devem ser revisadas antes de atualizar os consumidores em produção.