module Noir::TreeSitterHapiExtractor

Overview

Tree-sitter-backed Hapi extractor.

Hapi routes are object-literal configs passed to server.route({...}) (or an array of them):

server.route({
    method: 'GET',
    path: '/users/{id}',
    handler: (request, h) => { ... }
});

server.route([
    { method: 'POST', path: '/users', handler: ... },
    { method: ['PUT', 'PATCH'], path: '/users/{id}', handler: ... },
]);

Recognised:

Out of scope for this first cut:

Extended Modules

Defined in:

miniparsers/hapi_extractor_ts.cr

Constant Summary

ANY_METHOD_VERBS = ["GET", "POST", "PUT", "DELETE", "PATCH"]
HTTP_VERBS = Set {"GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"}

Instance Method Summary

Instance Method Detail

def extract_routes(source : String, include_callees : Bool = false) : Array(Route) #

[View source]