عن المشروع

إن Soenneker.Docker.Hub.OpenApiClient هو عميل .NET تم إنشاؤه بواسطة Kiota لـ Docker Hub API. يتم توفيره كحزمة NuGet ويمكن إضافته باستخدام الأمر `dotnet add package Soenneker.Docker.Hub.OpenApiClient`. لإنشاء عميل، يوضح ملف README كيفية بناء `HttpClient` وتعيين ترويسة تفويض Bearer، وإنشاء `HttpClientRequestAdapter` باستخدام `AnonymousAuthenticationProvider` و `HttpClient` وتعيين عنوان URL الأساسي إلى `https://hub.docker.com` ثم إنشاء مثيل من `DockerHubOpenApiClient` باستخدام المحول. وينصح بالاحتفاظ بالرمز (token) خارج أنظمة التحكم في المصدر وإعادة استخدام `HttpClient` والمحول والعميل المولد. توفر الحزمة المرافقة `Soenneker.Docker.Hub.OpenApiClientUtil` تسجيل حقن التبعيات (dependency-injection) والبناء المخزن مؤقتاً. يتضمن ملف README مثالاً لسرد رموز الوصول الشخصية من خلال `client.V2.AccessTokens.GetAsync` وتعيين معاملات الاستعلام `Page` و `PageSize` وقراءة مجموعة `Results` من الاستجابة. ترقيم الصفحات صريح: يستخدم المتصلون `Next` و `Previous` و `Count` من الاستجابة لتحديد الصفحة التالية المطلوب طلبها، ولا يقوم العميل بتعداد جميع النتائج تلقائياً. تتبع أدوات بناء الطلبات التسلسل الهرمي لـ URL، بدءاً من `client.V2` وتوفر مفهرسات المجموعات معاملات المسار مثل UUID لرمز الوصول أو اسم المؤسسة. يقوم Kiota بربط استجابات عدم النجاح الموثقة بنماذج مولدة مشتقة من `ApiException`؛ ويعتمد نوع الخطأ الدقيق على نقطة النهاية. على سبيل المثال، يؤدي سرد رموز الوصول إلى ربط الخطأ `400` بـ `ValueError` والخطأ `401` بـ `Error`. يوصي ملف README بالحفاظ على هذه التفاصيل عند تسجيل أو ترجمة الإخفاقات والسماح بتدفق الإلغاء إلى المتصل. بما أن العميل والنماذج مولدة، يحذر ملف README من تحريرها مباشرة لأن عملية إعادة التوليد ستمحو تلك التغييرات. يمكن أن تتغير أسماء نقاط النهاية، وقابلية القيمة لأن تكون null، وخرائط الأخطاء، وأشكال النماذج عند تغيير مواصفات Docker Hub، لذا يجب مراجعة تحديثات الحزمة قبل ترقية المستهلكين في بيئة الإنتاج.