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

ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು GET, POST ಮತ್ತು DELETE ನಂತಹ ವಿವಿಧ HTTP ವಿಧಾನಗಳನ್ನು (methods) ನಿರ್ವಹಿಸುತ್ತವೆ. Hyperlane ಈ ವಿನಂತಿಗಳನ್ನು (requests) ಫಿಲ್ಟರ್ ಮಾಡಲು ನಿಮಗೆ ಹಲವಾರು ಮಾರ್ಗಗಳನ್ನು ನೀಡುತ್ತದೆ. ನೀವು ವಿನಂತಿಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಿಗೆ (handlers) ವರ್ಗಾಯಿಸಬಹುದು ಅಥವಾ ವಿಧಾನಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮಿಡ್ಲ್‌ವೇರ್ (middleware) ಬಳಸಬಹುದು.

Hyperlane ನಲ್ಲಿ ವಿಧಾನಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುವ ವಿಧಾನಗಳು ಇಲ್ಲಿವೆ:

  • ಸರಳವಾದ read-only endpoints ಗಾಗಿ #[is_get_method] ಬಳಸಿ. ಈ macro ಯಾವುದೇ GET ವಿನತಿಯಲ್ಲದ ವಿನತಿಯನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ.

  • ನಮ್ಯವಾದ (flexible) routing ಗಾಗಿ #[methods] ಬಳಸಿ. ನೀವು ಅನುಮತಿಸಲಾದ ವಿಧಾನಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಬಹುದು. ಉದಾಹರಣೆಗೆ, #[methods("GET", "POST")] ಡೇಟಾವನ್ನು ಓದುವುದು ಮತ್ತು ರಚಿಸುವುದು ಎರಡನ್ನೂ ಅನುಮತಿಸುತ್ತದೆ.

  • ಸಂಕೀರ್ಣ ತರ್ಕಕ್ಕಾಗಿ (complex logic) ಮ್ಯಾನುಯಲ್ ಚೆಕ್‌ಗಳನ್ನು ಬಳಸಿ. ನೀವು context ನಿಂದ ವಿಧಾನವನ್ನು ಪಡೆದು, ಹೇಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು if-else ಹೇಳಿಕೆಗಳನ್ನು ಬಳಸಬಹುದು.

  • route-level ನಿಯಂತ್ರಣಕ್ಕಾಗಿ #[filter] ಬಳಸಿ. ಒಂದೇ path ನಲ್ಲಿ ವಿವಿಧ ವಿಧಾನಗಳಿಗಾಗಿ ನಿರ್ದಿಷ್ಟ handlers ರಚಿಸಲು ಇದನ್ನು route definitions ಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು.

  • logging ಅಥವಾ debugging ಗಾಗಿ middleware ಬಳಸಿ. ನೀವು method ಅನ್ನು ಹೊರತೆಗೆಯಬಹುದು ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ request attributes ಗೆ ಸೇರಿಸಬಹುದು.

ನಿಮ್ಮ API ಗಾಗಿ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು:

  • ಕೋಡ್ ಅನ್ನು ಸ್ವಚ್ಛವಾಗಿಡಲು read-only ಕಾರ್ಯಗಳಿಗಾಗಿ #[is_get_method] ಬಳಸಿ.
  • ಒಂದು endpoint ಗೆ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ರೀತಿಯ ವಿನಂತಿಗಳ ಅಗತ್ಯವಿದ್ದಾಗ #[methods] ಬಳಸಿ.
  • ಬಳಕೆದಾರರು ಬೆಂಬಲಿಸದ ವಿಧಾನವನ್ನು ಕಳುಹಿಸಿದರೆ 405 status code ಅನ್ನು ಹಿಂತಿರುಗಿಸಿ.
  • ಕಟ್ಟುನಿಟ್ಟಾದ ನಿಯಮಗಳನ್ನು ರಚಿಸಲು filters ಅನ್ನು ಸಂಯೋಜಿಸಿ. ನೀವು method, host ಮತ್ತು path length ಅನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು.

ಈ ಪರಿಕರಗಳು ಸ್ವಚ್ಛ ಮತ್ತು ಸಂಘಟಿತ APIಗಳನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತವೆ. ಇವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಓದಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತವೆ.

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

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