Ajouter des dépendances est un jeu d`enfant avec Mix. Nous nous attendons à ce que notre plug soit initialisé avec deux options::p ments et: champs. Cette prise attrape maintenant n`importe quelle erreur et recherche alors une fonction handle_errors/2 pour appeler. Il est appelé par un arbre de surveillance, qui est expliqué dans la section suivante. Les plug-ins sont couramment utilisés dans les navigateurs Internet, mais peuvent également être utilisés dans de nombreux autres types d`applications. Nous allons définir une variable d`environnement d`application dans config/config. Cependant, “plugin” est la version la plus largement utilisée de ce mot et la plupart des gens et des entreprises ont opté pour la version non-césure de ce mot. Il fournit une spécification pour les composants d`application Web et les adaptateurs pour les serveurs Web. Maintenant, nous sommes prêts à exécuter notre application et l`envoyer quelques demandes Web! Routeur, puis configurez deux des plugs intégrés:: match et:d ispatch. En général, les plug-ins font partie d`un ensemble de composants logiciels appelés Add-ons.

Dans le cas où certains sont manquants, nous élevons IncompleteRequestError. La fonction Call/2 est appelée pour chaque nouvelle demande qui vient du serveur Web, Cowboy. Tout d`abord, ouvrez lib/exemple/routeur. Routeur dans l`arborescence du superviseur du serveur Web. Cette fiche, il est vraiment facile d`attraper les informations utiles nécessaires pour les développeurs de résoudre les problèmes tout en étant en mesure de donner également à notre utilisateur final une belle page de sorte qu`il ne ressemble pas à notre application totalement explosé! Les plug-ins peuvent également permettre des mises à niveau logicielles ou des correctifs ou ajouts par des collaborateurs de projet plus faciles. Ce didacticiel suppose que vous avez Elixir 1. Allez-y et crash de votre serveur local (Rember, c`est fait en appuyant sur Ctrl + c deux fois). Il s`agit d`un routeur strict minimum, mais le code doit être assez explicite. Dans le calcul, un plug-in (ou plugin, complément, AddIn, Add-on, addon ou extension) est un composant logiciel qui ajoute une fonctionnalité spécifique à un programme informatique existant.

La liste complète se trouve dans le plug docs ici. Nous avons remarqué plus tôt que lorsque nous allons à http://127. Changez l`exemple. Notre lib/exemple/application. Heureusement pour nous, il n`y a que deux fonctions nécessaires: init/1 et Call/2. Le plug-in crée une activité de tâche après la création d`un nouveau compte. La valeur retournée par init/1 sera finalement transmise à Call/2 comme deuxième argument. Le troisième argument de l`application. Lorsque nous avons défini le module et l`application example, le port HTTP a été codé en dur dans le module. Après avoir configuré notre application Web minimale, nous allons apprendre sur le routeur de plug et comment utiliser plusieurs fiches dans une seule application Web. Pour ignorer une demande, nous passons simplement la connexion à travers.

Une fois que tout est terminé la compilation, et [info] démarrage de l`application. Comme nous sommes sur le sujet de voir, nous n`avons pas besoin d`un cadre comme Sinatra dans Elixir depuis que nous obtenons que gratuitement avec plug. Il démarre Cowboy fonctionnant sous le schéma HTTP (vous pouvez également spécifier HTTPS), sur le port donné, 8080, en spécifiant la fiche, exemple. Pour la plupart des applications, comme un site Web ou une API REST, vous souhaiterez qu`un routeur acheminent la demande pour différents chemins d`accès et verbes HTTP à différents gestionnaires. Notez que, parce que nous avons généré une application OTP avec l`indicateur–sup, notre application exemple démarrera automatiquement grâce à la fonction d`application. Si rien ne se passe, téléchargez GitHub Desktop et réessayez. Lorsqu`elle est disponible, cette option est utilisée par plug pour définir le code d`état HTTP en cas d`exception. HyperCard a pris en charge une installation similaire, mais plus communément inclus le code de plug-in dans les documents HyperCard (appelés piles) eux-mêmes.

Avec ce code, nous disons à notre application d`envoyer des demandes entrantes via le plug VerifyRequest avant d`exécuter le code dans le routeur.