Skip to content
  • Grégoire Henry's avatar
    Import new version of `vendors/ocplib-resto` · 5b502798
    Grégoire Henry authored and Benjamin Canou's avatar Benjamin Canou committed
    The new version of ocplib-resto :
    
    - uses jbuilder ;
    - is functorized over `Json_encoding` rather than `Json_repr` ;
    - handles query parameters ;
    - handles HTTP methods (GET, POST, DELETE, PUT, PATCH) ;
    - replaces `custom_service` by a more generic trailer argument ;
    - replaces generic answer `(code, body)` by a more ad-hoc sum type
      (allowing distinct encoding for success and error) ;
    - includes a minimal HTTP-server based on Cohttp
      (includings CORS and media type negotiation).
    - adds a function `Directory.transparent_lookup` to lookup/call
      a service handler without serializing the various parameters
      (path, query, request body).
    
    As a first consequences in Tezos, this patch allows binary
    communication between the client and the node.
    
    This patch tries to be minimal inside the tezos source code and
    therefore it introduces a minimal compatibility layer in
    `RPC.ml`. This code should be removed as soon as possible.
    5b502798