Sufficit.Gateway.Gravatar
1.26.923.1336
dotnet add package Sufficit.Gateway.Gravatar --version 1.26.923.1336
NuGet\Install-Package Sufficit.Gateway.Gravatar -Version 1.26.923.1336
<PackageReference Include="Sufficit.Gateway.Gravatar" Version="1.26.923.1336" />
<PackageVersion Include="Sufficit.Gateway.Gravatar" Version="1.26.923.1336" />
<PackageReference Include="Sufficit.Gateway.Gravatar" />
paket add Sufficit.Gateway.Gravatar --version 1.26.923.1336
#r "nuget: Sufficit.Gateway.Gravatar, 1.26.923.1336"
#:package Sufficit.Gateway.Gravatar@1.26.923.1336
#addin nuget:?package=Sufficit.Gateway.Gravatar&version=1.26.923.1336
#tool nuget:?package=Sufficit.Gateway.Gravatar&version=1.26.923.1336
Sufficit Gateway Gravatar
Worktrees (padrão Sufficit): toda árvore de trabalho deste projeto (humanos ou agentes de IA) deve ser criada dentro da pasta do próprio projeto:
git worktree add .worktrees/<nome>. A pasta.worktrees/é ignorada pelo git (.gitignore→**/.worktrees/) e nunca deve ser versionada ou criada fora da raiz do repositório.
Cliente HTTP tipado da Sufficit para as APIs públicas do Gravatar (avatar e perfil), com suporte aos hashes MD5 (legado) e SHA-256 (atual).
GravatarClient é a fachada do provedor: consulta de avatar por e-mail ou por
hash, consulta de perfil público (/{hash}.json) e uma busca combinada que
informa se um e-mail possui presença no Gravatar.
Responsabilidades
- normalizar e-mails (trim + lowercase) e calcular os hashes MD5 e SHA-256 exigidos pelo Gravatar;
- baixar o avatar (
/avatar/{hash}) com tamanho configurável e detecção de ausência (default=404→ retorno nulo, sem imagem placeholder); - expor metadados da resposta (
Last-Modified,Content-Type) para cache do consumidor; - desserializar o perfil público (displayName, preferredUsername, fotos,
contas) com
System.Text.Json; - combinar avatar + perfil em uma única consulta (
SearchByEmailAsync); - ser consumível via DI (
AddSufficitGatewayGravatar) ou manualmente com umHttpCliente options estáticas, para hosts legados.
Uso via DI
services.AddSufficitGatewayGravatar(configuration);
// resolve IGravatarClient (typed client, HttpClientName = "Sufficit.Gateway.Gravatar")
Configuração (todas com defaults, seção opcional):
{
"Sufficit": {
"Gateway": {
"Gravatar": {
"AvatarSize": 230,
"UserAgent": "SufficitGravatarGateway/1.0"
}
}
}
}
Uso manual (hosts sem IHttpClientFactory)
var options = new GravatarOptions(); // defaults
var client = new GravatarClient(new HttpClient(), options);
var avatar = await client.GetAvatarByEmailAsync("user@example.com");
Endpoints representativos expostos pelo sufficit-endpoints
| Rota | Descrição |
|---|---|
GET /gateway/gravatar/avatar?email=... |
bytes da imagem (404 quando inexistente) |
GET /gateway/gravatar/avatar/{hash} |
bytes da imagem por hash |
GET /gateway/gravatar/profile?email=... |
perfil público em JSON |
GET /gateway/gravatar/profile/{hash} |
perfil público por hash |
GET /gateway/gravatar/search?email=... |
presença combinada (avatar + perfil) |
Licença
MIT No Attribution — ver LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.20 && < 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.20 && < 10.0.0)
- Microsoft.Extensions.Http (>= 9.0.20 && < 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.20 && < 10.0.0)
- Microsoft.Extensions.Options (>= 9.0.20 && < 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.20 && < 10.0.0)
- System.Text.Json (>= 9.0.20 && < 10.0.0)
-
net10.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12 && < 11.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12 && < 11.0.0)
- Microsoft.Extensions.Http (>= 10.0.12 && < 11.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12 && < 11.0.0)
- Microsoft.Extensions.Options (>= 10.0.12 && < 11.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.12 && < 11.0.0)
-
net7.0
- Microsoft.Extensions.Configuration.Abstractions (>= 7.0.0 && < 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0 && < 8.0.0)
- Microsoft.Extensions.Http (>= 7.0.0 && < 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 7.0.1 && < 8.0.0)
- Microsoft.Extensions.Options (>= 7.0.1 && < 8.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 7.0.0 && < 8.0.0)
- System.Text.Json (>= 8.0.5 && < 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.26.923.1336 | 330 | 9/23/2026 |
| 1.26.909.1814 | 128 | 9/9/2026 |
| 1.26.906.1631 | 100 | 9/6/2026 |
| 1.26.902.2046 | 93 | 9/2/2026 |