𝗥𝗲𝗾𝘂𝗲𝘀𝘁 𝗠𝗲𝘁𝗵𝗼𝗱 𝗙𝗶𝗹𝘁𝗲𝗿𝗶𝗻𝗴 𝗶𝗻 𝗛𝘆𝗽𝗲𝗿𝗹𝗮𝗻𝗲

இணையச் செயலிகள் (Web applications) GET, POST மற்றும் DELETE போன்ற பல்வேறு HTTP முறைகளைக் கையாளுகின்றன. Hyperlane இத்தகைய கோரிக்கைகளை வடிகட்ட உங்களுக்குப் பல வழிகளை வழங்குகிறது. நீங்கள் கோரிக்கைகளை குறிப்பிட்ட ஹேண்ட்லர்களுக்கு (handlers) வழிநடத்தலாம் அல்லது முறைகளைச் சரிபார்க்க மிட்ல்வேரை (middleware) பயன்படுத்தலாம்.

Hyperlane-இல் முறைகளை வடிகட்டுவதற்கான வழிகள் இதோ:

  • எளிய read-only எண்ட்பாயிண்டுகளுக்கு (endpoints) #[is_get_method]-ஐப் பயன்படுத்தவும். இந்த மேக்ரோ (macro) GET கோரிக்கையாக இல்லாத எந்தவொரு கோரிக்கையையும் நிராகரிக்கும்.

  • நெகிழ்வான ரூட்டிங்கிற்கு (routing) #[methods]-ஐப் பயன்படுத்தவும். நீங்கள் அனுமதிக்கப்பட்ட முறைகளின் பட்டியலை வழங்கலாம். உதாரணமாக, #[methods("GET", "POST")] தரவைப் படிக்கவும் மற்றும் உருவாக்கவும் அனுமதிக்கும்.

  • சிக்கலான தர்க்கங்களுக்கு (complex logic) கைமுறைச் சரிபார்ப்புகளைப் (manual checks) பயன்படுத்தவும். நீங்கள் context-லிருந்து முறையை எடுத்துக்கொண்டு, எவ்வாறு பதிலளிப்பது என்பதைத் தீர்மானிக்க if-else கூற்றுகளைப் (statements) பயன்படுத்தலாம்.

  • ரூட்-நிலை கட்டுப்பாட்டிற்கு (route-level control) #[filter]-ஐப் பயன்படுத்தவும். ஒரே பாதையில் (path) உள்ள பல்வேறு முறைகளுக்குச் குறிப்பிட்ட ஹேண்ட்லர்களை உருவாக்க இதை ரூட் வரையறைகளுடன் (route definitions) இணைக்கலாம்.

  • லாகிங் (logging) அல்லது டீபக்கிங்கிற்கு (debugging) மிட்ல்வேரைப் பயன்படுத்தவும். நீங்கள் முறையைத் பிரித்தெடுத்து அதை உங்கள் கோரிக்கை பண்புகளுடன் (request attributes) சேர்க்கலாம்.

உங்கள் API-க்கான சிறந்த நடைமுறைகள்:

  • குறியீட்டைத் தூய்மையாக வைத்திருக்க, read-only பணிகளுக்கு #[is_get_method]-ஐப் பயன்படுத்தவும்.
  • ஒரு எண்ட்பாயிண்டிற்கு ஒன்றுக்கும் மேற்பட்ட கோரிக்கை வகைகள் தேவைப்படும்போது #[methods]-ஐப் பயன்படுத்தவும்.
  • பயனர் ஆதரிக்கப்படாத முறையை அனுப்பினால் 405 status code-ஐத் திருப்பியனுப்பவும்.
  • கடுமையான விதிகளை உருவாக்க வடிகட்டிகளை (filters) இணைக்கவும். நீங்கள் முறை, ஹோஸ்ட் (host) மற்றும் பாதையின் நீளம் (path length) ஆகிய அனைத்தையும் ஒரே நேரத்தில் சரிபார்க்கலாம்.

இந்தத் கருவிகள் தூய்மையான மற்றும் ஒழுங்கமைக்கப்பட்ட API-களை உருவாக்க உங்களுக்கு உதவுகின்றன. இவை உங்கள் குறியீட்டை எளிதாகப் படிக்கவும் பராமரிக்கவும் செய்கின்றன.

Project Code: https://github.com/hyperlane-dev/hyperlane

Source: https://dev.to/tengxgfyrz67s/request-method-filtering-35jk