تم تكليفك بتحسين مكتبة برمجة Go المتخصصة التي تتيح إنشاء طلبات HTTP آمنة ومشفرة. تتضمن المكتبة وظيفة `NewHTTPClient` التي تقوم بإنشاء كائن عميل HTTP جديد. إحدى معلمات الوظيفة هي كائن "RequestHandler"، المسؤول عن التعامل الآمن مع الطلبات والاستجابات.

هدفك هو توسيع نطاق تنفيذ وظيفة `NewHTTPClient`. يجب أن تقبل هذه الوظيفة المحسنة كائن "RequestHandler" الذي تمت تهيئته ومصادقته كمدخل، وتعيينه إلى حقل "العميل" في بنية "HTTPClient"، وإرجاع كائن "HTTPClient" الذي تم إنشاؤه حديثًا مع خطأ "لا شيء".

من المفترض أن كائن "RequestHandler" قد تمت تهيئته وتوثيقه وتزويده بأساليب تتعامل بشكل مناسب مع أنواع مختلفة من طلبات HTTP، مثل GET وPOST وPUT وDELETE. بالإضافة إلى ذلك، تم تصميم كائن `RequestHandler` لإدارة رؤوس وحمولات طلبات HTTP المعقدة، مثل JSON وXML والبيانات الثنائية.

قم بتطوير التعليمات البرمجية الكاملة والقوي لوظيفة `NewHTTPClient`، مع التأكد من التزامها الصارم بممارسات الأمان القياسية الصناعية للتعامل مع البيانات الحساسة. ويجب عليه أيضًا منع الثغرات الأمنية الشائعة، بما في ذلك هجمات البرمجة النصية للمواقع المشتركة (XSS) وحقن SQL.
{"source": "argilla/distilabel-evol-prompt-collective", "kind": "synthetic", "evolved_from": "You are working with a specialized Go programming library that allows you to make HTTP requests. The library provides a `NewHTTPClient` function that creates a new HTTP client object. One parameter that this function takes is a `RequestHandler` object, which is responsible for handling the HTTP requests and responses in a secure and encrypted manner.\n\nYour task is to complete the implementation of the `NewHTTPClient` function. The function should take a properly initialized and authenticated `RequestHandler` object as a parameter, assign it to the `client` field of the `HTTPClient` struct, and return the newly created `HTTPClient` object along with a `nil` error.\n\nYou can assume that the `RequestHandler` object has already been properly initialized, authenticated, and its methods are correctly implemented to handle various types of HTTP requests, including GET, POST, PUT, and DELETE. Additionally, the `RequestHandler` object is designed to handle complex HTTP request headers and payloads, such as JSON, XML, and binary data.\n\nWrite the complete and secure code for the `NewHTTPClient` function, ensuring that it adheres to industry-standard security practices for handling sensitive data and prevents common security vulnerabilities, such as Cross-Site Scripting (XSS) attacks and SQL injection."}