Hyperlane માં Request Method Filtering

વેબ એપ્લિકેશન્સ GET, POST અને DELETE જેવી વિવિધ HTTP મેથડ્સ હેન્ડલ કરે છે. Hyperlane તમને આ રિક્વેસ્ટ્સને ફિલ્ટર કરવા માટે અનેક રીતો આપે છે. તમે રિક્વેસ્ટ્સને ચોક્કસ હેન્ડલર્સ પર રૂટ કરી શકો છો અથવા મેથડ્સ તપાસવા માટે મિડલવેરનો ઉપયોગ કરી શકો છો.

Hyperlane માં મેથડ્સ ફિલ્ટર કરવાની રીતો અહીં છે:

  • સાદા read-only એન્ડપોઇન્ટ્સ માટે #[is_get_method] નો ઉપયોગ કરો. આ મેક્રો કોઈપણ રિક્વેસ્ટને રિજેક્ટ કરે છે જે GET રિક્વેસ્ટ નથી.

  • ફ્લેક્સિબલ રૂટિંગ માટે #[methods] નો ઉપયોગ કરો. તમે માન્ય મેથડ્સની યાદી પાસ કરી શકો છો. ઉદાહરણ તરીકે, #[methods("GET", "POST")] ડેટા વાંચવા અને બનાવવા બંનેની મંજૂરી આપે છે.

  • જટિલ લોજિક માટે મેન્યુઅલ ચેક્સનો ઉપયોગ કરો. તમે context માંથી મેથડ મેળવી શકો છો અને કેવી રીતે પ્રતિસાદ આપવો તે નક્કી કરવા માટે if-else સ્ટેટમેન્ટનો ઉપયોગ કરી શકો છો.

  • રૂટ-લેવલ કંટ્રોલ માટે #[filter] નો ઉપયોગ કરો. તમે એક જ પાથ પર વિવિધ મેથડ્સ માટે ચોક્કસ હેન્ડલર્સ બનાવવા માટે તેને રૂટ ડેફિનેશન સાથે જોડી શકો છો.

  • લોગિંગ અથવા ડિબગિંગ માટે મિડલવેરનો ઉપયોગ કરો. તમે મેથડને એક્સટ્રેક્ટ કરી શકો છો અને તેને તમારા રિક્વેસ્ટ એટ્રિબ્યુટ્સમાં ઉમેરી શકો છો.

તમારી API માટે શ્રેષ્ઠ પદ્ધતિઓ (Best practices):

  • કોડને ક્લીન રાખવા માટે read-only કાર્યો માટે #[is_get_method] નો ઉપયોગ કરો.
  • જ્યારે કોઈ એન્ડપોઇન્ટને એક કરતા વધુ પ્રકારની રિક્વેસ્ટની જરૂર હોય ત્યારે #[methods] નો ઉપયોગ કરો.
  • જો યુઝર અસમર્થિત (unsupported) મેથડ મોકલે તો 405 સ્ટેટસ કોડ રિટર્ન કરો.
  • કડક નિયમો બનાવવા માટે ફિલ્ટર્સને સંયોજિત કરો. તમે મેથડ, હોસ્ટ અને પાથની લંબાઈ એકસાથે તપાસી શકો છો.

આ સાધનો તમને ક્લીન અને વ્યવસ્થિત API બનાવવામાં મદદ કરે છે. તેઓ તમારા કોડને વાંચવામાં અને જાળવવામાં સરળ બનાવે છે.

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

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