𝗥𝗲𝗾𝘂𝗲𝘀𝘁 𝗠𝗲𝘁𝗵𝗼𝗱 𝗙𝗶𝗹𝘁𝗲𝗿𝗶𝗻𝗴 𝗶𝗻 𝗛𝘆𝗽𝗲𝗿𝗹𝗮𝗻𝗲
ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು 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