python - I'm using pyAMF in my app, but I want to set smart service like explained here: -
सामान्य अनुप्रयोग में मैं सेवा सेट करता हूं
services = {'users.login': लॉगिन, 'परीक्षा': राउटर}
लेकिन मैं ऐसा करना चाहूंगा:
सेवाओं = ['users.login', 'test' ]
और हर अनुरोध रूटर फ़ंक्शन पर जाता है। यह 2 पैरामीटर लेता है: सेवा नाम (इस मामले में "users.login" या "test" हो सकता है) और इनपुट (जो ऑब्जेक्ट को फ्लेक्स द्वारा भेजे गए ऑब्जेक्ट है) तो अगर फ़्लेक्स से कमांड (सर्विस) "प्रयोक्ता लॉग इन करें"। मैं पैरामीटर के साथ राउटर को चलाने के लिए चाहूंगा और फिर यह फ़ंक्शन लॉगिन को कमांड.युजर्स.login पैकेज में खुल जाएगा। मुझे यह कैसे करना है? धन्यवाद।
अगर मैं यह सही करने के लिए आपके प्रश्न को सही ढंग से समझता हूं, तो आपको इसकी आवश्यकता होगी गेटवे क्लास पर getServiceRequest
ओवरराइड करने के लिए जो आप उपयोग कर रहे हैं:
pyamf.remoting.gateway.django आयात से DjangoGateway pyamf.remoting.gateway आयात करें UnknownServiceError वर्ग MyGateway ( DjangoGateway): def __init __ (स्वयं, रूटर_फंक्, ** kwargs): self.router = router_func DjangoGateway .__ init __ (स्वयं, ** kwargs) def getServiceRequest (स्वयं, अनुरोध, लक्ष्य): कोशिश: वापसी DjangoGateway.getServiceRequest (स्वयं, अनुरोध , लक्ष्य) को छोड़कर UnknownServiceError, ई: # कैश्ड सेवा पास नहीं हुई, इसे खोजने की कोशिश करें: service_func = self.router (लक्ष्य) को छोड़कर: # शायद कुछ लॉगिंग यहाँ service_func = कोई नहीं अगर service_func: # नहीं मिलासेवा मिलान `लक्ष्य` को उचित रूप से उठाने के लिए, और स्वयं को ऊपर उठाना। AddService (service_func, लक्ष्य) वापस DjangoGateway.getServiceRequest (स्वयं, अनुरोध, लक्ष्य)
self.router
एक समारोह है जो आप गेटवे के निर्माता को आपूर्ति करते हैं। यह एएमएफ रिमोटिंग अनुरोध के स्ट्रिंग लक्ष्य को लेता है और मेल खाने वाला फ़ंक्शन देता है। यदि यह कोई नहीं
देता है या कोई अपवाद उठाता है, तो अनुरोधकर्ता को एक अज्ञात सेवा प्रतिक्रिया वापस कर दी जाएगी।
उम्मीद है कि यह आपके लिए क्या आवश्यकता के आधार पर कार्य करने के लिए कुछ हो जाता है।
Comments
Post a Comment