gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet-rest-api] 01/01: Initial commit


From: gnunet
Subject: [GNUnet-SVN] [gnunet-rest-api] 01/01: Initial commit
Date: Mon, 11 Jun 2018 20:23:10 +0200

This is an automated email from the git hooks/post-receive script.

phil pushed a commit to branch master
in repository gnunet-rest-api.

commit ee0ee0d7bb3270944112af9e8509569319948d11
Author: Phil <address@hidden>
AuthorDate: Mon Jun 11 20:23:00 2018 +0200

    Initial commit
---
 Makefile            |  20 +++++++
 make.bat            |  36 ++++++++++++
 source/conf.py      | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 source/gns.rst      |  47 ++++++++++++++++
 source/identity.rst | 130 +++++++++++++++++++++++++++++++++++++++++++
 source/index.rst    |  43 +++++++++++++++
 source/intro.rst    | 110 +++++++++++++++++++++++++++++++++++++
 7 files changed, 541 insertions(+)

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4bf8fc5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+SPHINXPROJ    = GNUnetRESTAPI
+SOURCEDIR     = source
+BUILDDIR      = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+       @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+       @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
\ No newline at end of file
diff --git a/make.bat b/make.bat
new file mode 100644
index 0000000..de0971e
--- /dev/null
+++ b/make.bat
@@ -0,0 +1,36 @@
address@hidden OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+       set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+set SPHINXPROJ=GNUnetRESTAPI
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+       echo.
+       echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+       echo.installed, then set the SPHINXBUILD environment variable to point
+       echo.to the full path of the 'sphinx-build' executable. Alternatively 
you
+       echo.may add the Sphinx directory to PATH.
+       echo.
+       echo.If you don't have Sphinx installed, grab it from
+       echo.http://sphinx-doc.org/
+       exit /b 1
+)
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
+
+:end
+popd
diff --git a/source/conf.py b/source/conf.py
new file mode 100644
index 0000000..e5ed1eb
--- /dev/null
+++ b/source/conf.py
@@ -0,0 +1,155 @@
+# -*- coding: utf-8 -*-
+#
+# Configuration file for the Sphinx documentation builder.
+#
+# This file does only contain a selection of the most common options. For a
+# full list see the documentation:
+# http://www.sphinx-doc.org/en/master/config
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'GNUnet REST API'
+copyright = '2018, Philippe Buschmann'
+author = 'Philippe Buschmann'
+
+# The short X.Y version
+version = ''
+# The full version, including alpha/beta/rc tags
+release = ''
+
+
+# -- General configuration ---------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#
+# needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+#
+# source_suffix = ['.rst', '.md']
+source_suffix = '.rst'
+
+# The master toctree document.
+master_doc = 'index'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path .
+exclude_patterns = []
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'alabaster'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#
+# html_theme_options = {}
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Custom sidebar templates, must be a dictionary that maps document names
+# to template names.
+#
+# The default sidebars (for documents that don't match any pattern) are
+# defined by theme itself.  Builtin themes are using these templates by
+# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
+# 'searchbox.html']``.
+#
+# html_sidebars = {}
+
+
+# -- Options for HTMLHelp output ---------------------------------------------
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'GNUnetRESTAPIdoc'
+
+
+# -- Options for LaTeX output ------------------------------------------------
+
+latex_elements = {
+    # The paper size ('letterpaper' or 'a4paper').
+    #
+    # 'papersize': 'letterpaper',
+
+    # The font size ('10pt', '11pt' or '12pt').
+    #
+    # 'pointsize': '10pt',
+
+    # Additional stuff for the LaTeX preamble.
+    #
+    # 'preamble': '',
+
+    # Latex figure (float) alignment
+    #
+    # 'figure_align': 'htbp',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
+latex_documents = [
+    (master_doc, 'GNUnetRESTAPI.tex', 'GNUnet REST API Documentation',
+     'Philippe Buschmann', 'manual'),
+]
+
+
+# -- Options for manual page output ------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    (master_doc, 'gnunetrestapi', 'GNUnet REST API Documentation',
+     [author], 1)
+]
+
+
+# -- Options for Texinfo output ----------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+    (master_doc, 'GNUnetRESTAPI', 'GNUnet REST API Documentation',
+     author, 'GNUnetRESTAPI', 'One line description of project.',
+     'Miscellaneous'),
+]
\ No newline at end of file
diff --git a/source/gns.rst b/source/gns.rst
new file mode 100644
index 0000000..1a77379
--- /dev/null
+++ b/source/gns.rst
@@ -0,0 +1,47 @@
+GNUnet GNS API Service
+======================
+
+
+============
+GET Requests
+============
+
++--------------------+------------------------------------------------------------------------------------------+
+|**Title**           |Return all records for given name                        
                                 |
++--------------------+------------------------------------------------------------------------------------------+
+|**URL**             |:literal:`/gns`                                          
                                 |
++--------------------+------------------------------------------------------------------------------------------+
+|**Method**          |**GET**                                                  
                                 |
++--------------------+------------------------------------------------------------------------------------------+
+|**URL Params**      | | ``?name=``:name                                       
                                 |
+|                    | | optional: ``&record_type=``:type                      
                                 |
+|                    | | optional: ``&options=``:(0|1|2)                       
                                 |
+|                    | | optional: ``&pkey=``:zonekey *or* 
``&ego=``:identity_name                              |
++--------------------+------------------------------------------------------------------------------------------+
+|**Data Params**     |none                                                     
                                 |
++--------------------+------------------------------------------------------------------------------------------+
+|**Success Response**|[{"id":"*id*", "type":"*ego*", "name":"*name*"},...]     
                                 |
++--------------------+------------------------------------------------------------------------------------------+
+|**Error Response**  |{"error":"*error_desc*"}                                 
                                 |
++--------------------+------------------------------------------------------------------------------------------+
+
+
+===============
+OPTIONS Request
+===============
+
++--------------------+---------------------------------------------------------+
+|**Title**           |Get request options                                      
|
++--------------------+---------------------------------------------------------+
+|**URL**             |:literal:`/gns`                                          
|
++--------------------+---------------------------------------------------------+
+|**Method**          |**OPTIONS**                                              
|
++--------------------+---------------------------------------------------------+
+|**URL Params**      |none                                                     
|
++--------------------+---------------------------------------------------------+
+|**Data Params**     |none                                                     
|
++--------------------+---------------------------------------------------------+
+|**Success Response**|Access-Control-Allow-Methods: GET                        
|
++--------------------+---------------------------------------------------------+
+|**Error Response**  |none                                                     
|
++--------------------+---------------------------------------------------------+
diff --git a/source/identity.rst b/source/identity.rst
new file mode 100644
index 0000000..48e5e5a
--- /dev/null
+++ b/source/identity.rst
@@ -0,0 +1,130 @@
+GNUnet Identity API Service
+===========================
+
+
+============
+GET Requests
+============
+
++--------------------+----------------------------------------------------+
+|**Title**           |Return all identities                               |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity`                                |
++--------------------+----------------------------------------------------+
+|**Method**          |**GET**                                             |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |none                                                |
++--------------------+----------------------------------------------------+
+|**Success Response**|[{"id":"*id*", "type":"*ego*", "name":"*name*"},...]|
++--------------------+----------------------------------------------------+
+|**Error Response**  |{"error":"*error_desc*"}                            |
++--------------------+----------------------------------------------------+
+
+|
++--------------------+----------------------------------------------------+
+|**Title**           |Return specific identity                            |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity:id`                             |
++--------------------+----------------------------------------------------+
+|**Method**          |**GET**                                             |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |none                                                |
++--------------------+----------------------------------------------------+
+|**Success Response**|[{"id":"*id*", "type":"*ego*", "name":"*name*"}]    |
++--------------------+----------------------------------------------------+
+|**Error Response**  |{"error":"*error_desc*"}                            |
++--------------------+----------------------------------------------------+
+
+============
+POST Request
+============
+
++--------------------+----------------------------------------------------+
+|**Title**           |Create identity                                     |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity`                                |
++--------------------+----------------------------------------------------+
+|**Method**          |**POST**                                            |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |{"name":"*name*"}                                   |
++--------------------+----------------------------------------------------+
+|**Success Response**|Response Code: :literal:`201` (Created)             |
++--------------------+----------------------------------------------------+
+|**Error Response**  | | {"error":"*error_desc*"}                         |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`409` (Conflict)         |
++--------------------+----------------------------------------------------+
+
+===========
+PUT Request
+===========
+
++--------------------+----------------------------------------------------+
+|**Title**           |Change name or subsystem of identity                |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity/:id`                            |
++--------------------+----------------------------------------------------+
+|**Method**          |**PUT**                                             |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     | | {"newname":"*name*"} : Rename                    |
+|                    | | *or*                                             |
+|                    | | {"subsystem":"*name*"} : Set subsystem           |
++--------------------+----------------------------------------------------+
+|**Success Response**|Response Code: :literal:`204` (No Content)          |
++--------------------+----------------------------------------------------+
+|**Error Response**  | | {"error":"*error_desc*"}                         |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`404` (Not Found)        |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`409` (Conflict)         |
++--------------------+----------------------------------------------------+
+
+==============
+DELETE Request
+==============
+
++--------------------+----------------------------------------------------+
+|**Title**           |Delete specific identity                            |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity:id`                             |
++--------------------+----------------------------------------------------+
+|**Method**          |**DELETE**                                          |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |none                                                |
++--------------------+----------------------------------------------------+
+|**Success Response**|Response Code: :literal:`204` (No Content)          |
++--------------------+----------------------------------------------------+
+|**Error Response**  | | {"error":"*error_desc*"}                         |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`404` (Not Found)        |
++--------------------+----------------------------------------------------+
+
+===============
+OPTIONS Request
+===============
+
++--------------------+---------------------------------------------------------+
+|**Title**           |Get request options                                      
|
++--------------------+---------------------------------------------------------+
+|**URL**             |:literal:`/identity`                                     
|
++--------------------+---------------------------------------------------------+
+|**Method**          |**OPTIONS**                                              
|
++--------------------+---------------------------------------------------------+
+|**URL Params**      |none                                                     
|
++--------------------+---------------------------------------------------------+
+|**Data Params**     |none                                                     
|
++--------------------+---------------------------------------------------------+
+|**Success Response**|Access-Control-Allow-Methods: 
GET,POST,PUT,DELETE,OPTIONS|
++--------------------+---------------------------------------------------------+
+|**Error Response**  |none                                                     
|
++--------------------+---------------------------------------------------------+
diff --git a/source/index.rst b/source/index.rst
new file mode 100644
index 0000000..b31dec1
--- /dev/null
+++ b/source/index.rst
@@ -0,0 +1,43 @@
+.. GNUnet REST API documentation master file, created by
+   sphinx-quickstart on Mon May 28 19:41:25 2018.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to GNUnet REST API's documentation!
+===========================================
+   
+========
+Requests
+========
+
+The GNUnet Web API is based in REST principles. Data resources are accessed 
via HTTP requests to an API endpoint. Where possible, the Web API uses the 
following HTTP methods for each action:
+
++----------+-----------------------------+
+|**Method**|**Action**                   |
++----------+-----------------------------+
+|GET       |Retrieve object(s)           |
++----------+-----------------------------+
+|POST      |Create new object(s)         |
++----------+-----------------------------+
+|PUT       |Edit existing object(s)      |
++----------+-----------------------------+
+|DELETE    |Delete existing object(s)    |
++----------+-----------------------------+
+
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+    
+   identity
+   gns
+
+
+
+==================
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/source/intro.rst b/source/intro.rst
new file mode 100644
index 0000000..ffa2a6a
--- /dev/null
+++ b/source/intro.rst
@@ -0,0 +1,110 @@
+GNUnet Identity API Service
+===========================
+
+
+============
+GET Requests
+============
+
++--------------------+----------------------------------------------------+
+|**Title**           |Return all identities                               |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity`                                |
++--------------------+----------------------------------------------------+
+|**Method**          |**GET**                                             |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |none                                                |
++--------------------+----------------------------------------------------+
+|**Success Response**|[{"id":"*id*", "type":"*ego*", "name":"*name*"},...]|
++--------------------+----------------------------------------------------+
+|**Error Response**  |{"error":"*error_desc*"}                            |
++--------------------+----------------------------------------------------+
+
+|
++--------------------+----------------------------------------------------+
+|**Title**           |Return specific identity                            |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity:id`                             |
++--------------------+----------------------------------------------------+
+|**Method**          |**GET**                                             |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |none                                                |
++--------------------+----------------------------------------------------+
+|**Success Response**|[{"id":"*id*", "type":"*ego*", "name":"*name*"}]    |
++--------------------+----------------------------------------------------+
+|**Error Response**  |{"error":"*error_desc*"}                            |
++--------------------+----------------------------------------------------+
+
+============
+POST Request
+============
+
++--------------------+----------------------------------------------------+
+|**Title**           |Create identity                                     |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity`                                |
++--------------------+----------------------------------------------------+
+|**Method**          |**POST**                                            |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |{"name":"*name*"}                                   |
++--------------------+----------------------------------------------------+
+|**Success Response**|Response Code: :literal:`201` (Created)             |
++--------------------+----------------------------------------------------+
+|**Error Response**  | | {"error":"*error_desc*"}                         |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`409` (Conflict)         |
++--------------------+----------------------------------------------------+
+
+===========
+PUT Request
+===========
+
++--------------------+----------------------------------------------------+
+|**Title**           |Change name or subsystem of identity                |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity/:id`                            |
++--------------------+----------------------------------------------------+
+|**Method**          |**PUT**                                             |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     | | {"newname":"*name*"} : Rename                    |
+|                    | | *or*                                             |
+|                    | | {"subsystem":"*name*"} : Set subsystem           |
++--------------------+----------------------------------------------------+
+|**Success Response**|Response Code: :literal:`204` (No Content)          |
++--------------------+----------------------------------------------------+
+|**Error Response**  | | {"error":"*error_desc*"}                         |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`404` (Not Found)        |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`409` (Conflict)         |
++--------------------+----------------------------------------------------+
+
+==============
+DELETE Request
+==============
+
++--------------------+----------------------------------------------------+
+|**Title**           |Delete specific identity                            |
++--------------------+----------------------------------------------------+
+|**URL**             |:literal:`/identity:id`                             |
++--------------------+----------------------------------------------------+
+|**Method**          |**DELETE**                                          |
++--------------------+----------------------------------------------------+
+|**URL Params**      |none                                                |
++--------------------+----------------------------------------------------+
+|**Data Params**     |none                                                |
++--------------------+----------------------------------------------------+
+|**Success Response**|Response Code: :literal:`204` (No Content)          |
++--------------------+----------------------------------------------------+
+|**Error Response**  | | {"error":"*error_desc*"}                         |
+|                    | | *or*                                             |
+|                    | | Response Code: :literal:`404` (Not Found)        |
++--------------------+----------------------------------------------------+

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]