gnunet-handbook

The GNUnet Handbook
Log | Files | Refs

rest.rst (1067B)


      1 
      2 .. index::
      3   double: subsystem; REST
      4 
      5 .. _REST-Subsystem-Dev:
      6 
      7 REST
      8 ====
      9 
     10 .. todo:: Define REST
     11 
     12 Using the REST subsystem, you can expose REST-based APIs or services.
     13 The REST service is designed as a pluggable architecture. To create a
     14 new REST endpoint, simply add a library in the form "plugin_rest_*". The
     15 REST service will automatically load all REST plugins on startup.
     16 
     17 .. _Namespace-considerations:
     18 
     19 Namespace considerations
     20 ------------------------
     21 
     22 The ``gnunet-rest-service`` will load all plugins that are installed. As
     23 such it is important that the endpoint namespaces do not clash.
     24 
     25 For example, plugin X might expose the endpoint "/xxx" while plugin Y
     26 exposes endpoint "/xxx/yyy". This is a problem if plugin X is also
     27 supposed to handle a call to "/xxx/yyy". Currently the REST service will
     28 not complain or warn about such clashes, so please make sure that
     29 endpoints are unambiguous.
     30 
     31 .. _Endpoint-documentation:
     32 
     33 Endpoint documentation
     34 ----------------------
     35 
     36 This is WIP. Endpoints should be documented appropriately. Preferably
     37 using annotations.