Hyperlaneలో Request Method Filtering
వెబ్ అప్లికేషన్లు GET, POST మరియు DELETE వంటి వివిధ HTTP మెథడ్స్ను హ్యాండిల్ చేస్తాయి. Hyperlane ఈ రిక్వెస్ట్లను ఫిల్టర్ చేయడానికి మీకు అనేక మార్గాలను అందిస్తుంది. మీరు రిక్వెస్ట్లను నిర్దిష్ట హ్యాండ్లర్లకు రూట్ చేయవచ్చు లేదా మెథడ్స్ను తనిఖీ చేయడానికి మిడిల్వేర్ను ఉపయోగించవచ్చు.
Hyperlaneలో మెథడ్స్ను ఫిల్టర్ చేసే మార్గాలు ఇక్కడ ఉన్నాయి:
సాధారణ రీడ్-ఓన్లీ (read-only) ఎండ్పాయింట్ల కోసం
#[is_get_method]ఉపయోగించండి. ఈ మాక్రో GET రిక్వెస్ట్ కాని ఏ రిక్వెస్ట్నైనా తిరస్కరిస్తుంది.ఫ్లెక్సిబుల్ రూటింగ్ కోసం
#[methods]ఉపయోగించండి. మీరు అనుమతించబడిన మెథడ్స్ జాబితాను పంపవచ్చు. ఉదాహరణకు,#[methods("GET", "POST")]డేటాను చదవడం మరియు సృష్టించడం రెండింటినీ అనుమతిస్తుంది.సంక్లిష్టమైన లాజిక్ కోసం మాన్యువల్ చెక్స్ను ఉపయోగించండి. మీరు కాంటెక్స్ట్ నుండి మెథడ్ను తీసుకుని, ఎలా స్పందించాలో నిర్ణయించడానికి if-else స్టేట్మెంట్లను ఉపయోగించవచ్చు.
రూట్-లెవల్ కంట్రోల్ కోసం
#[filter]ఉపయోగించండి. ఒకే పాత్లో వివిధ మెథడ్స్ కోసం నిర్దిష్ట హ్యాండ్లర్లను సృష్టించడానికి దీనిని రూట్ డెఫినిషన్లతో కలిపి ఉపయోగించవచ్చు.లాగింగ్ లేదా డీబగ్గింగ్ కోసం మిడిల్వేర్ను ఉపయోగించండి. మీరు మెథడ్ను ఎక్స్ట్రాక్ట్ చేసి మీ రిక్వెస్ట్ ఆట్రిబ్యూట్స్కు జోడించవచ్చు.
మీ API కోసం ఉత్తమ పద్ధతులు:
- కోడ్ను క్లీన్గా ఉంచడానికి రీడ్-ఓన్లీ పనుల కోసం
#[is_get_method]ఉపయోగించండి. - ఒక ఎండ్పాయింట్కు ఒకటి కంటే ఎక్కువ రకాల రిక్వెస్ట్లు అవసరమైనప్పుడు
#[methods]ఉపయోగించండి. - వినియోగదారు సపోర్ట్ చేయని మెథడ్ను పంపితే 405 స్టేటస్ కోడ్ను రిటర్న్ చేయండి.
- కఠినమైన నియమాలను రూపొందించడానికి ఫిల్టర్లను కలపండి. మీరు మెథడ్, హోస్ట్ మరియు పాత్ లెంగ్త్ అన్నింటినీ ఒకేసారి తనిఖీ చేయవచ్చు.
ఈ సాధనాలు మీరు క్లీన్ మరియు ఆర్గనైజ్డ్ APIలను నిర్మించడంలో సహాయపడతాయి. ఇవి మీ కోడ్ను చదవడం మరియు మెయింటైన్ చేయడం సులభతరం చేస్తాయి.
Project Code: https://github.com/hyperlane-dev/hyperlane
Source: https://dev.to/tengxgfyrz67s/request-method-filtering-35jk