Merge "rephrase sentence"
authorConor Ward <conor.ward@est.tech>
Thu, 24 Jan 2019 11:41:55 +0000 (11:41 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 24 Jan 2019 11:41:55 +0000 (11:41 +0000)
14 files changed:
INFO.yaml [new file with mode: 0644]
datarouter-docker-compose/pom.xml
datarouter-node/pom.xml
datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java
datarouter-prov/pom.xml
datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/PublishServlet.java
datarouter-subscriber/pom.xml
datarouter-subscriber/src/main/java/org/onap/dmaap/datarouter/subscriber/SampleSubscriberServlet.java
datarouter-subscriber/src/test/java/org/onap/dmaap/datarouter/subscriber/SampleSubscriberServletTest.java
docs/data-router/data-router.rst
docs/data-router/dr_arch.png
docs/data-router/logging.rst
pom.xml
version.properties

diff --git a/INFO.yaml b/INFO.yaml
new file mode 100644 (file)
index 0000000..fb07cf5
--- /dev/null
+++ b/INFO.yaml
@@ -0,0 +1,42 @@
+---
+project: 'dmaap-datarouter'
+project_creation_date: '2017-06-30'
+lifecycle_state: 'Incubation'
+project_lead: &onap_releng_ptl
+    name: 'Ram Koya'
+    email: 'rk541m@att.com'
+    id: 'rampi_k'
+    company: 'ATT'
+    timezone: 'America/Dallas'
+primary_contact: *onap_releng_ptl
+issue_tracking:
+    type: 'jira'
+    url: 'https://jira.onap.org/projects/DMAAP'
+    key: 'DMAAP'
+meetings:
+    - type: 'zoom'
+        agenda: ''
+        url: 'https://wiki.onap.org/pages/viewpage.action?pageId=13599275'
+        server: 'n/a'
+        channel: 'n/a'
+        repeats: 'weekly'
+        time: '13:00 UTC'
+committers:
+    - <<: *onap_releng_ptl
+    - name: 'Ramdas Sawant'
+        email: 'rs873m@att.com'
+        company: 'ATT'
+        id: 'rs873m'
+        timezone: 'America/Dallas'
+    - name: 'Varun Gudisena'
+        email: 'vg411h@att.com'
+        company: 'ATT'
+        id: 'vg411h'
+        timezone: 'America/Dallas'
+tsc:
+    approval: 'https://lists.onap.org/pipermail/onap-tsc'
+    changes:
+        - type: 'Removal'
+          name: 'Habib Madani'
+          name: 'Xinhui Li'
+          name: 'Jing Wang'
index 1ce9830..05faa5a 100644 (file)
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.onap.dmaap.datarouter</groupId>
     <artifactId>parent</artifactId>
-    <version>1.0.4-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>datarouter-docker-compose</artifactId>
index 52afa66..7df1989 100755 (executable)
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.dmaap.datarouter</groupId>
         <artifactId>parent</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>datarouter-node</artifactId>
index b8c06f1..e07642c 100644 (file)
@@ -99,6 +99,7 @@ public class NodeMain {
         nodeMainLogger.info("NODE0002 I am " + nodeConfigManager.getMyName());
         (new WaitForConfig(nodeConfigManager)).waitForConfig();
         delivery = new Delivery(nodeConfigManager);
+        new LogManager(nodeConfigManager);
         Server server = new Server();
         // HTTP configuration
         HttpConfiguration httpConfiguration = new HttpConfiguration();
index 75dbb71..95c2de8 100755 (executable)
@@ -26,7 +26,7 @@
     <parent>\r
         <groupId>org.onap.dmaap.datarouter</groupId>\r
         <artifactId>parent</artifactId>\r
-        <version>1.0.4-SNAPSHOT</version>\r
+        <version>1.1.0-SNAPSHOT</version>\r
         <relativePath>../pom.xml</relativePath>\r
     </parent>\r
     <artifactId>datarouter-prov</artifactId>\r
index 8229ee5..3ae63bb 100644 (file)
@@ -35,10 +35,10 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;\r
 import javax.servlet.http.HttpServletResponse;\r
 import org.json.JSONArray;\r
+import org.json.JSONException;\r
 import org.json.JSONObject;\r
 import org.json.JSONTokener;\r
 import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord;\r
-import org.onap.dmaap.datarouter.provisioning.beans.Feed;\r
 import org.onap.dmaap.datarouter.provisioning.beans.IngressRoute;\r
 import org.onap.dmaap.datarouter.provisioning.eelf.EelfMsgs;\r
 import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
@@ -54,7 +54,7 @@ import org.onap.dmaap.datarouter.provisioning.utils.DB;
 @SuppressWarnings("serial")\r
 public class PublishServlet extends BaseServlet {\r
 \r
-    private int next_node;\r
+    private int nextNode;\r
     private String provstring;\r
     private List<IngressRoute> irt;\r
     //Adding EELF Logger Rally:US664892\r
@@ -66,35 +66,35 @@ public class PublishServlet extends BaseServlet {
     @Override\r
     public void init(ServletConfig config) throws ServletException {\r
         super.init(config);\r
-        next_node = 0;\r
+        nextNode = 0;\r
         provstring = "";\r
-        irt = new ArrayList<IngressRoute>();\r
+        irt = new ArrayList<>();\r
 \r
     }\r
 \r
     @Override\r
-    public void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+    public void doDelete(HttpServletRequest req, HttpServletResponse resp) {\r
         setIpAndFqdnForEelf("doDelete");\r
         eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
         redirect(req, resp);\r
     }\r
 \r
     @Override\r
-    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+    public void doGet(HttpServletRequest req, HttpServletResponse resp) {\r
         setIpAndFqdnForEelf("doGet");\r
         eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
         redirect(req, resp);\r
     }\r
 \r
     @Override\r
-    public void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+    public void doPut(HttpServletRequest req, HttpServletResponse resp) {\r
         setIpAndFqdnForEelf("doPut");\r
         eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
         redirect(req, resp);\r
     }\r
 \r
     @Override\r
-    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+    public void doPost(HttpServletRequest req, HttpServletResponse resp) {\r
         setIpAndFqdnForEelf("doPost");\r
         eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF, req.getHeader(BEHALF_HEADER));\r
         redirect(req, resp);\r
@@ -155,7 +155,7 @@ public class PublishServlet extends BaseServlet {
                 provstring = s;\r
                 JSONObject jo = new JSONObject(new JSONTokener(provstring));\r
                 JSONArray ja = jo.getJSONArray("ingress");\r
-                List<IngressRoute> newlist = new ArrayList<IngressRoute>();\r
+                List<IngressRoute> newlist = new ArrayList<>();\r
                 for (int i = 0; i < ja.length(); i++) {\r
                     IngressRoute iroute = new IngressRoute(ja.getJSONObject(i));\r
                     newlist.add(iroute);\r
@@ -179,11 +179,11 @@ public class PublishServlet extends BaseServlet {
 \r
         // No IRT rule matches, do round robin of all active nodes\r
         String[] nodes = getNodes();\r
-        if (next_node >= nodes.length)    // The list of nodes may have grown/shrunk\r
+        if (nextNode >= nodes.length)    // The list of nodes may have grown/shrunk\r
         {\r
-            next_node = 0;\r
+            nextNode = 0;\r
         }\r
-        return nodes[next_node++];\r
+        return nodes[nextNode++];\r
     }\r
 \r
     private int checkPath(HttpServletRequest req) {\r
@@ -198,11 +198,15 @@ public class PublishServlet extends BaseServlet {
         }\r
         try {\r
             int feedid = Integer.parseInt(path.substring(0, ix));\r
-            if (!Feed.isFeedValid(feedid)) {\r
-                return -1;\r
+            String provData = Poker.getPoker().getProvisioningString();\r
+            JSONArray feeds = new JSONObject(provData).getJSONArray("feeds");\r
+            for (int n = 0; n < feeds.length(); ++n) {\r
+                if (feeds.getJSONObject(n).getInt("feedid") == feedid) {\r
+                    return feedid;\r
+                }\r
             }\r
-            return feedid;\r
-        } catch (NumberFormatException e) {\r
+            return -1;\r
+        } catch (NumberFormatException | JSONException e) {\r
             return -1;\r
         }\r
     }\r
index ee28395..b5c149c 100755 (executable)
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.dmaap.datarouter</groupId>
         <artifactId>parent</artifactId>
-        <version>1.0.4-SNAPSHOT</version>
+        <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>datarouter-subscriber</artifactId>
index 3842574..2805128 100644 (file)
@@ -140,9 +140,12 @@ public class SampleSubscriberServlet extends HttpServlet {
         URLEncoder.encode(fileid, "UTF-8").replaceAll("^\\.", "%2E").replaceAll("\\*", "%2A");
     String fullPath = outputDirectory + "/" + filename;
     String tmpPath = outputDirectory + "/." + filename;
+    String fullMetaDataPath = outputDirectory + "/" + filename + ".M";
+    String tmpMetaDataPath = outputDirectory + "/." + filename + ".M";
     try {
       if (isdelete) {
         Files.deleteIfExists(Paths.get(fullPath));
+        Files.deleteIfExists(Paths.get(fullMetaDataPath));
         logger.info(
             "SampleSubServlet: Received delete for file id "
                 + fileid
@@ -154,6 +157,7 @@ public class SampleSubscriberServlet extends HttpServlet {
                 + fullPath);
       } else {
         new File(tmpPath).createNewFile();
+        new File(tmpMetaDataPath).createNewFile();
         try (InputStream is = req.getInputStream();
             OutputStream os = new FileOutputStream(tmpPath)) {
           byte[] buf = new byte[65536];
@@ -163,6 +167,11 @@ public class SampleSubscriberServlet extends HttpServlet {
           }
         }
         Files.move(Paths.get(tmpPath), Paths.get(fullPath), StandardCopyOption.REPLACE_EXISTING);
+        try (PrintWriter writer = new PrintWriter(new FileOutputStream(tmpMetaDataPath))) {
+          String metaData = req.getHeader("X-ATT-DR-META");
+          writer.print(metaData);
+        }
+        Files.move(Paths.get(tmpMetaDataPath), Paths.get(fullMetaDataPath), StandardCopyOption.REPLACE_EXISTING);
         logger.info(
             "SampleSubServlet: Received file id "
                 + fileid
@@ -177,6 +186,7 @@ public class SampleSubscriberServlet extends HttpServlet {
       resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
     } catch (IOException ioe) {
       Files.deleteIfExists(Paths.get(tmpPath));
+      Files.deleteIfExists(Paths.get(tmpMetaDataPath));
       logger.info(
           "SampleSubServlet: Failed to process file "
               + fullPath
index e31b347..f3700e9 100755 (executable)
@@ -100,6 +100,7 @@ public class SampleSubscriberServletTest {
     when(request.getHeader("Authorization")).thenReturn("Basic TE9HSU46UEFTU1dPUkQ=");
     when(request.getPathInfo()).thenReturn("/publish/1/testfile");
     when(request.getHeader("X-ATT-DR-PUBLISH-ID")).thenReturn("1");
+    when(request.getHeader("X-ATT-DR-META")).thenReturn("{\"Key\":\"Value\"}");
     when(request.getQueryString()).thenReturn(null);
     ServletInputStream inStream = mock(ServletInputStream.class);
     when(request.getInputStream()).thenReturn(inStream);
index aaee385..39d61e1 100755 (executable)
@@ -54,36 +54,36 @@ Create a Feed
 Sample Request\r
 ==============\r
 \r
-curl -v -X POST -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https:/{host}:{port}\r
+``curl -v -X POST -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https:/{host}:{port}``\r
 \r
 Request Parameters:\r
 ===================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| name                   | Feed name                       |     Body         |   String   |    <=20      |     Y       |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| version                | Feed version                    |     Body         |   String   |    <=20      |     Y       |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| description            | Feed description                |     Body         |   String   |              |     Y       |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| business description   | Business description            |     Body         |   String   |              |     Y       |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Authorization          | Information for authorizing     |     Body         |   Object   |              |     Y       |                     |                                      |\r
-|                        | publishing requests             |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend                | Set to true if the feed is in   |     Body         |   Boolean  |              |     N       |                     | * true                               |\r
-|                        | the suspended state             |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id               |                                 |     Body         |   Integer  |              |     Y       |                     |                                      |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type           | To specify type of message      |     Header       |   String   |     20       |     N       |                     | application/vnd.att-dr.feed          |\r
-|                        | (feed,subscriber,publisher)     |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF  | User id of owner of feed        |     Header       |   String   |     1        |     N       |                     |  username                            |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| name                   | Feed name                       |     Body         |   String   |    <=20      |     Y       |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| version                | Feed version                    |     Body         |   String   |    <=20      |     Y       |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| description            | Feed description                |     Body         |   String   |    <=256     |     Y       |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| business description   | Business description            |     Body         |   String   |    <=256     |     Y       |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Authorization          | Information for authorizing     |     Body         |   Object   |              |     Y       |                                      |\r
+|                        | publishing requests             |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend                | Set to true if the feed is in   |     Body         |   Boolean  |              |     N       | * true                               |\r
+|                        | the suspended state             |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id               |                                 |     Body         |   Integer  |              |     Y       |                                      |\r
+|                        |                                 |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type           | To specify type of message      |     Header       |   String   |              |     Y       | application/vnd.att-dr.feed          |\r
+|                        | (feed,subscriber,publisher)     |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF  | User id of owner of feed        |     Header       |   String   |     8        |     Y       |  username                            |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -161,7 +161,7 @@ Sample Body
           ]\r
      },\r
 \r
-}\r
+ }\r
 \r
 Updating a Feed\r
 ---------------\r
@@ -171,32 +171,32 @@ Updating a Feed
 Sample Request\r
 ==============\r
 \r
-curl -v -X PUT -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addFeed3.txt --location-trusted -k https:/{host}:{port}\r
+``curl -v -X PUT -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addFeed3.txt --location-trusted -k https:/{host}:{port}``\r
 \r
 Request Parameters:\r
 ===================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| description            | Feed description                |     Body         |   String   |              |     Y       |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| business description   | Business description            |     Body         |   String   |              |     Y       |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Authorization          | Information for authorizing     |     Body         |   Object   |              |     Y       |                     |                                      |\r
-|                        | publishing requests             |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend                | Set to true if the feed is in   |     Body         |   Boolean  |              |     N       |                     | * true                               |\r
-|                        | the suspended state             |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id               |                                 |     Body         |   Integer  |              |     Y       |                     |                                      |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type           | To specify type of message      |     Header       |   String   |     20       |     N       |                     | application/vnd.att-dr.feed          |\r
-|                        | (feed,subscriber,publisher)     |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF  | User id of owner of feed        |     Header       |   String   |     1        |     N       |                     |  username                            |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| description            | Feed description                |     Body         |   String   |     <=256    |     Y       |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| business description   | Business description            |     Body         |   String   |     <=256    |     Y       |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Authorization          | Information for authorizing     |     Body         |   Object   |              |     Y       |                                      |\r
+|                        | publishing requests             |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend                | Set to true if the feed is in   |     Body         |   Boolean  |              |     N       | * true                               |\r
+|                        | the suspended state             |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id               |                                 |     Body         |   Integer  |              |     Y       |                                      |\r
+|                        |                                 |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type           | To specify type of message      |     Header       |   String   |              |     Y       | application/vnd.att-dr.feed          |\r
+|                        | (feed,subscriber,publisher)     |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF  | User id of owner of feed        |     Header       |   String   |     8        |     Y       |  username                            |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -274,7 +274,7 @@ Sample Body
           ]\r
      },\r
 \r
-}\r
+ }\r
 \r
 Get a Feed\r
 ----------\r
@@ -291,7 +291,7 @@ http[s]://{host}:{port}/feed/{feedId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X GET -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/feed/{feedId}\r
+``curl -v -X GET -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/feed/{feedId}``\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -352,7 +352,7 @@ http[s]://{host}:{port}/feed/{feedId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/feed/{feedId}\r
+``curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/feed/{feedId}``\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -412,37 +412,37 @@ http[s]://{host}:{port}/subscribe/{feedId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X POST -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addSubscriber.txt --post301 --location-trusted -k https://{host}:{port}/subscribe/{feedId}\r
+``curl -v -X POST -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addSubscriber.txt --post301 --location-trusted -k https://{host}:{port}/subscribe/{feedId}``\r
 \r
 Request Parameters:\r
 ===================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId                 | ID for the feed you are         |     Path         |   String   |              |     Y       |                     |                                      |\r
-|                        | subscribing to                  |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| delivery               | Address and credentials for     |     Body         |   Object   |              |     Y       |                     |                                      |\r
-|                        | delivery                        |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| follow_redirect        | Set to true if feed redirection |     Body         |   Boolean  |              |     Y       |                     | * true                               |\r
-|                        | is expected                     |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| metadata_only          | Set to true if subscription is  |     Body         |   Boolean  |              |     Y       |                     | * true                               |\r
-|                        | to receive per-file metadata    |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend                | Set to true if the subscription |     Body         |   Boolean  |              |     N       |                     | * true                               |\r
-|                        | is in the suspended state       |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id               |                                 |     Body         |   Integer  |              |     Y       |                     |                                      |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type           | To specify type of message      |     Header       |   String   |     20       |     N       |                     | application/vnd.att-dr.subscription  |\r
-|                        | (feed,subscriber,publisher)     |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF  | User id of subscriber           |     Header       |   String   |     1        |     N       |                     |  username                            |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| feedId                 | ID for the feed you are         |     Path         |   String   |              |     Y       |                                      |\r
+|                        | subscribing to                  |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| delivery               | Address and credentials for     |     Body         |   Object   |              |     Y       |                                      |\r
+|                        | delivery                        |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| follow_redirect        | Set to true if feed redirection |     Body         |   Boolean  |              |     Y       | * true                               |\r
+|                        | is expected                     |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| metadata_only          | Set to true if subscription is  |     Body         |   Boolean  |              |     Y       | * true                               |\r
+|                        | to receive per-file metadata    |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend                | Set to true if the subscription |     Body         |   Boolean  |              |     N       | * true                               |\r
+|                        | is in the suspended state       |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id               |                                 |     Body         |   Integer  |              |     Y       |                                      |\r
+|                        |                                 |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type           | To specify type of message      |     Header       |   String   |              |     Y       | application/vnd.att-dr.subscription  |\r
+|                        | (feed,subscriber,publisher)     |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF  | User id of subscriber           |     Header       |   String   |     8        |     Y       |  username                            |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -511,7 +511,7 @@ Sample Body
     "groupid" : 29,\r
     "subscriber" : "subscriber123"\r
 \r
-}\r
+ }\r
 \r
 Update subscription\r
 -------------------\r
@@ -526,37 +526,37 @@ http[s]://{host}:{port}/subscribe/{feedId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X PUT -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addSubscriber.txt --location-trusted -k https://{host}:{port}/subscribe/{feedId}\r
+``curl -v -X PUT -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addSubscriber.txt --location-trusted -k https://{host}:{port}/subscribe/{feedId}``\r
 \r
 Request Parameters:\r
 ===================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId                 | ID for the subscription you are |     Path         |   String   |              |     Y       |                     |                                      |\r
-|                        | updating                        |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| delivery               | Address and credentials for     |     Body         |   Object   |              |     Y       |                     |                                      |\r
-|                        | delivery                        |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| follow_redirect        | Set to true if feed redirection |     Body         |   Boolean  |              |     Y       |                     | * true                               |\r
-|                        | is expected                     |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| metadata_only          | Set to true if subscription is  |     Body         |   Boolean  |              |     Y       |                     | * true                               |\r
-|                        | to receive per-file metadata    |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend                | Set to true if the subscription |     Body         |   Boolean  |              |     N       |                     | * true                               |\r
-|                        | is in the suspended state       |                  |            |              |             |                     | * false                              |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id               |                                 |     Body         |   Integer  |              |     Y       |                     |                                      |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type           | To specify type of message      |     Header       |   String   |     20       |     N       |                     | application/vnd.att-dr.subscription  |\r
-|                        | (feed,subscriber,publisher)     |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF  | User id of subscriber           |     Header       |   String   |     1        |     N       |                     |  username                            |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| feedId                 | ID for the subscription you are |     Path         |   String   |              |     Y       |                                      |\r
+|                        | updating                        |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| delivery               | Address and credentials for     |     Body         |   Object   |              |     Y       |                                      |\r
+|                        | delivery                        |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| follow_redirect        | Set to true if feed redirection |     Body         |   Boolean  |              |     Y       | * true                               |\r
+|                        | is expected                     |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| metadata_only          | Set to true if subscription is  |     Body         |   Boolean  |              |     Y       | * true                               |\r
+|                        | to receive per-file metadata    |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend                | Set to true if the subscription |     Body         |   Boolean  |              |     N       | * true                               |\r
+|                        | is in the suspended state       |                  |            |              |             | * false                              |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id               |                                 |     Body         |   Integer  |              |     Y       |                                      |\r
+|                        |                                 |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type           | To specify type of message      |     Header       |   String   |              |     Y       | application/vnd.att-dr.subscription  |\r
+|                        | (feed,subscriber,publisher)     |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF  | User id of subscriber           |     Header       |   String   |     8        |     Y       |  username                            |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -625,7 +625,7 @@ Sample Body
     "groupid" : 29,\r
     "subscriber" : "subscriber123"\r
 \r
-}\r
+ }\r
 \r
 \r
 Get a Subscription\r
@@ -643,7 +643,7 @@ http[s]://{host}:{port}/subscribe/{subId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X GET -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/subscribe/{subId}\r
+``curl -v -X GET -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/subscribe/{subId}``\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -704,7 +704,7 @@ http[s]://{host}:{port}/feed/{feedId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/subscribe/{feedId}\r
+``curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/subscribe/{feedId}``\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -767,18 +767,26 @@ http[s]://{host}:{port}/publish/{feedId}/{fileName}
 Request parameters\r
 ==================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId                 | ID of the feed you are          |     Path         |   String   |              |     Y       |                     |                                      |\r
-|                        | publishing to                   |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| fileId                 | Name of the file when it  is    |     Path         |   String   |              |     Y       |                     |                                      |\r
-|                        | published to subscribers        |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type           | To specify type of message      |     Header       |   String   |     20       |     N       |                     | application/octet-stream             |\r
-|                        | format                          |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                                                    |\r
++========================+=================================+==================+============+==============+=============+==========================================================================+\r
+| feedId                 | ID of the feed you are          |     Path         |   String   |              |     Y       |                                                                          |\r
+|                        | publishing to                   |                  |            |              |             |                                                                          |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| fileId                 | Name of the file when it  is    |     Path         |   String   |              |     Y       |                                                                          |\r
+|                        | published to subscribers        |                  |            |              |             |                                                                          |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| content-type           | To specify type of message      |     Header       |   String   |              |     Y       | application/octet-stream                                                 |\r
+|                        | format                          |                  |            |              |             |                                                                          |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| X-ATT-DR-META          | Metadata for the file. Accepts  |     Header       |   String   |     4096     |     N       | '{"compressionType":"gzip","id": 1234, "transferred":true, "size":null}' |\r
+|                        | only non nested json objects    |                  |            |              |             |                                                                          |\r
+|                        | of the following type :         |                  |            |              |             |                                                                          |\r
+|                        | -Numbers                        |                  |            |              |             |                                                                          |\r
+|                        | -Strings                        |                  |            |              |             |                                                                          |\r
+|                        | -Lowercase boolean              |                  |            |              |             |                                                                          |\r
+|                        | -null                           |                  |            |              |             |                                                                          |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -812,7 +820,7 @@ Response/Error Codes
 Sample Request\r
 ==============\r
 \r
-curl -v -X PUT --user {user}:{password} -H "Content-Type: application/octet-stream" --data-binary @/opt/app/datartr/sampleFile.txt --post301 --location-trusted -k https://{host}:{port}/publish/{feedId}/sampleFile.txt\r
+``curl -v -X PUT --user {user}:{password} -H "Content-Type: application/octet-stream"  -H X-ATT-DR-META:'{"filetype":"zip"}' --data-binary @/opt/app/datartr/sampleFile.txt --post301 --location-trusted -k https://{host}:{port}/publish/{feedId}/sampleFile.txt``\r
 \r
 Delete a Published file\r
 -----------------------\r
@@ -830,7 +838,7 @@ http[s]://{host}:{port}/publish/{feedId}/{fileId}
 Sample Request\r
 ==============\r
 \r
-curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/publish/{feedId}/{fileId}\r
+``curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/publish/{feedId}/{fileId}``\r
 \r
 Response/Error Codes\r
 ====================\r
@@ -878,37 +886,37 @@ http[s]://{host}:{port}/feedlog/{feedId}?{queryParameter}
 Request parameters\r
 ==================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId                 | Id of the feed you want         |     Path         |   String   |              |     N       |                     | 1                                    |\r
-|                        | logs from                       |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| type                   | Select records of the           |     Path         |   String   |              |     N       |                     | * pub: Publish attempt               |\r
-|                        | specified type                  |                  |            |              |             |                     | * del: Delivery attempt              |\r
-|                        |                                 |                  |            |              |             |                     | * exp: Delivery expiry               |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| publishId              | Select records with specified   |     Path         |   String   |              |     N       |                     |                                      |\r
-|                        | publish id, carried in the      |                  |            |              |             |                     |                                      |\r
-|                        | X-ATT-DR-PUBLISH-ID header from |                  |            |              |             |                     |                                      |\r
-|                        | original publish request        |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| start                  | Select records created at or    |     Path         |   String   |              |     N       |                     | A date-time expressed in the format  |\r
-|                        | after specified date            |                  |            |              |             |                     | specified by RFC 3339                |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| end                    | Select records created at or    |     Path         |   String   |              |     N       |                     | A date-time expressed in the format  |\r
-|                        | before specified date           |                  |            |              |             |                     | specified by RFC 3339                |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| statusCode             | Select records with the         |     Path         |   String   |              |     N       |                     | An HTTP Integer status code or one   |\r
-|                        | specified statusCode field      |                  |            |              |             |                     | of the following special values:     |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-|                        |                                 |                  |            |              |             |                     | * Success: Any code between 200-299  |\r
-|                        |                                 |                  |            |              |             |                     | * Redirect: Any code between 300-399 |\r
-|                        |                                 |                  |            |              |             |                     | * Failure: Any code > 399            |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| expiryReason           | Select records with the         |     Path         |   String   |              |     N       |                     |                                      |\r
-|                        | specified expiry reason         |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| feedId                 | Id of the feed you want         |     Path         |   String   |              |     N       | 1                                    |\r
+|                        | logs from                       |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| type                   | Select records of the           |     Path         |   String   |              |     N       | * pub: Publish attempt               |\r
+|                        | specified type                  |                  |            |              |             | * del: Delivery attempt              |\r
+|                        |                                 |                  |            |              |             | * exp: Delivery expiry               |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| publishId              | Select records with specified   |     Path         |   String   |              |     N       |                                      |\r
+|                        | publish id, carried in the      |                  |            |              |             |                                      |\r
+|                        | X-ATT-DR-PUBLISH-ID header from |                  |            |              |             |                                      |\r
+|                        | original publish request        |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| start                  | Select records created at or    |     Path         |   String   |              |     N       | A date-time expressed in the format  |\r
+|                        | after specified date            |                  |            |              |             | specified by RFC 3339                |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| end                    | Select records created at or    |     Path         |   String   |              |     N       | A date-time expressed in the format  |\r
+|                        | before specified date           |                  |            |              |             | specified by RFC 3339                |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| statusCode             | Select records with the         |     Path         |   String   |              |     N       | An HTTP Integer status code or one   |\r
+|                        | specified statusCode field      |                  |            |              |             | of the following special values:     |\r
+|                        |                                 |                  |            |              |             |                                      |\r
+|                        |                                 |                  |            |              |             | * Success: Any code between 200-299  |\r
+|                        |                                 |                  |            |              |             | * Redirect: Any code between 300-399 |\r
+|                        |                                 |                  |            |              |             | * Failure: Any code > 399            |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| expiryReason           | Select records with the         |     Path         |   String   |              |     N       |                                      |\r
+|                        | specified expiry reason         |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
 \r
 Response Parameters\r
 ===================\r
@@ -1009,7 +1017,7 @@ Response/Error Codes
 Sample Request\r
 ==============\r
 \r
-curl -v -k https://{host}:{port}/feedlog/{feedId}?statusCode=204\r
+``curl -v -k https://{host}:{port}/feedlog/{feedId}?statusCode=204``\r
 \r
 Subscriber logging\r
 ------------------\r
@@ -1028,38 +1036,38 @@ http[s]://{host}:{port}/sublog/{subId}?{queryParameter}
 Request parameters\r
 ==================\r
 \r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Format             |  Valid/Example Values                |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| subId                  | Id of the feed you want         |     Path         |   String   |              |     N       |                     | 1                                    |\r
-|                        | logs from                       |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| type                   | Select records of the           |     Path         |   String   |              |     N       |                     | * pub: Publish attempt               |\r
-|                        | specified type                  |                  |            |              |             |                     | * del: Delivery attempt              |\r
-|                        |                                 |                  |            |              |             |                     | * exp: Delivery expiry               |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| publishId              | Select records with specified   |     Path         |   String   |              |     N       |                     |                                      |\r
-|                        | publish id, carried in the      |                  |            |              |             |                     |                                      |\r
-|                        | X-ATT-DR-PUBLISH-ID header from |                  |            |              |             |                     |                                      |\r
-|                        | original publish request        |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| start                  | Select records created at or    |     Path         |   String   |              |     N       |                     | A date-time expressed in the format  |\r
-|                        | after specified date            |                  |            |              |             |                     | specified by RFC 3339                |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| end                    | Select records created at or    |     Path         |   String   |              |     N       |                     | A date-time expressed in the format  |\r
-|                        | before specified date           |                  |            |              |             |                     | specified by RFC 3339                |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| statusCode             | Select records with the         |     Path         |   String   |              |     N       |                     | An Http Integer status code or one   |\r
-|                        | specified statusCode field      |                  |            |              |             |                     | of the following special values:     |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-|                        |                                 |                  |            |              |             |                     | * Success: Any code between 200-299  |\r
-|                        |                                 |                  |            |              |             |                     | * Sedirect: Any code between 300-399 |\r
-|                        |                                 |                  |            |              |             |                     | * Sailure: Any code > 399            |\r
-|                        |                                 |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| expiryReason           | Select records with the         |     Path         |   String   |              |     N       |                     |                                      |\r
-|                        | specified expiry reason         |                  |            |              |             |                     |                                      |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name                   | Description                     |  Param Type      |  Data Type |   MaxLen     |  Required   |  Valid/Example Values                |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| subId                  | Id of the feed you want         |     Path         |   String   |              |     N       | 1                                    |\r
+|                        | logs from                       |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| type                   | Select records of the           |     Path         |   String   |              |     N       | * pub: Publish attempt               |\r
+|                        | specified type                  |                  |            |              |             | * del: Delivery attempt              |\r
+|                        |                                 |                  |            |              |             | * exp: Delivery expiry               |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| publishId              | Select records with specified   |     Path         |   String   |              |     N       |                                      |\r
+|                        | publish id, carried in the      |                  |            |              |             |                                      |\r
+|                        | X-ATT-DR-PUBLISH-ID header from |                  |            |              |             |                                      |\r
+|                        | original publish request        |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| start                  | Select records created at or    |     Path         |   String   |              |     N       | A date-time expressed in the format  |\r
+|                        | after specified date            |                  |            |              |             | specified by RFC 3339                |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| end                    | Select records created at or    |     Path         |   String   |              |     N       | A date-time expressed in the format  |\r
+|                        | before specified date           |                  |            |              |             | specified by RFC 3339                |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| statusCode             | Select records with the         |     Path         |   String   |              |     N       | An Http Integer status code or one   |\r
+|                        | specified statusCode field      |                  |            |              |             | of the following special values:     |\r
+|                        |                                 |                  |            |              |             |                                      |\r
+|                        |                                 |                  |            |              |             | * Success: Any code between 200-299  |\r
+|                        |                                 |                  |            |              |             | * Redirect: Any code between 300-399 |\r
+|                        |                                 |                  |            |              |             | * Failure: Any code > 399            |\r
+|                        |                                 |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| expiryReason           | Select records with the         |     Path         |   String   |              |     N       |                                      |\r
+|                        | specified expiry reason         |                  |            |              |             |                                      |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
 \r
 Response Parameters\r
 ===================\r
@@ -1161,4 +1169,4 @@ Response/Error Codes
 Sample Request\r
 ==============\r
 \r
-curl -v -k https://{host}:{port}/sublog/{subscriberId}?statusCode=204
\ No newline at end of file
+``curl -v -k https://{host}:{port}/sublog/{subscriberId}?statusCode=204``\r
index 1655eda..54cd7e8 100644 (file)
Binary files a/docs/data-router/dr_arch.png and b/docs/data-router/dr_arch.png differ
index ac6aa95..6ac7a0a 100644 (file)
@@ -15,11 +15,19 @@ Currently Data Router does not have any unique error codes. However the followin
 could possibly occur in Data Router:
 
     OK = 200 : The normal response from a successful update or get of a feed or subscription
+
     CREATED = 201 : the normal response from successfully creating or subscribing to a feed.
+
     NO_CONTENT = 204 : the normal response from a successful publish attempt and on successfully deleting a feed or subscription
+
     MOVED_PERMANENTLY = 301 :the normal redirect response from prov to a publisher
+
     BAD_REQUEST = 400: Usually indicates that either Json object in request body is incorrect in some way, or an Invalid parameter value was included in query string.
+
     UNAUTHORIZED = 401 : Usually indicated either request was missing Authorization header, or indicates incorrect Username/password credentials
+
     FORBIDDEN = 403 : Usually indicates the request originated from an unauthorized IP address, or that a client certificate was not a part of authorized list.
+
     NOT_FOUND = 404 : Usually indicates an incorrect URI
+
     METHOD_NOT_ALLOWED = 405 : Indicates an HTTP method is not accepted for given URI
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index a615605..01d8afc 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
     <groupId>org.onap.dmaap.datarouter</groupId>
     <artifactId>parent</artifactId>
     <name>dmaap-datarouter</name>
-    <version>1.0.4-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <url>https://github.com/att/DMAAP_DATAROUTER</url>
     <parent>
         <groupId>org.onap.oparent</groupId>
         <artifactId>oparent</artifactId>
-        <version>1.2.1</version>
+        <version>1.2.2</version>
     </parent>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -46,7 +46,7 @@
         <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
         <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
         <sonar.projectVersion>${project.version}</sonar.projectVersion>
-        <jetty.version>9.3.8.RC0</jetty.version>
+        <jetty.version>9.4.14.v20181114</jetty.version>
         <jetty.websocket.version>8.2.0.v20160908</jetty.websocket.version>
         <javax.mail-api.version>1.5.5</javax.mail-api.version>
         <dom4j.version>2.1.1</dom4j.version>
index 05d01ad..af11c22 100644 (file)
@@ -26,8 +26,8 @@
 # because they are used in Jenkins, whose plug-in doesn't support\r
 \r
 major=1\r
-minor=0\r
-patch=4\r
+minor=1\r
+patch=0\r
 \r
 base_version=${major}.${minor}.${patch}\r
 \r