2013-06-20 7 views
15

Mi chiedevo se esistesse un modo per ottenere un elenco dei Metodi di Meteor correnti che sono stati registrati.Elenca i metodi Meteor registrati con Meteor.methods()?

per esempio, se un metodo POST è registrato in questo modo:

Meteor.methods({ 
    post: function() { 
    //code 
    } 
}); 

C'è un modo per accedere a un elenco di questi metodi? Idealmente sarebbe tramite un metodo, ma se fosse stato memorizzato in una variabile accessibile come Meteor .__ metodi che avrebbero funzionato altrettanto bene.

Ho sfogliato la documentazione e Meteor globale nel browser ma non ho trovato nulla di utile. Qualche idea?

risposta

14

Sul client si può fare:

Meteor.connection._methodHandlers 

Ti dà un dizionario dei nomi delle funzioni alle funzioni.

+2

Non elenca i metodi. – avalanche1

+0

@ avalanche1 Lo fa per me. Forse i tuoi metodi non vengono effettivamente registrati o qualcosa del genere? –

11

Dopo aver scavato di più sul lato server di meteora, sembra che i metodi siano memorizzati in un array Meteor.default_server.method_handlers che è accessibile sul server ma non sul client.

L'unico modo per esporlo lato client sembra registrare un lato del metodo server e quindi restituire un elenco di chiavi.

+2

Non è esposto al lato client perché ciò potrebbe aprire un potenziale difetto di sicurezza – Marz

Problemi correlati