dcastor commented on a change in pull request #278: BOOKKEEPER-1100: Add module 
for Bookkeeper Http Endpoint
URL: https://github.com/apache/bookkeeper/pull/278#discussion_r129759814
 
 

 ##########
 File path: 
bookkeeper-http/http-server/src/main/java/org/apache/bookkeeper/http/HttpServer.java
 ##########
 @@ -0,0 +1,82 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.bookkeeper.http;
+
+/**
+ * Provide the interface to start, stop bookkeeper http server.
+ * It also provide the interface to inject service provider,
+ * which is the implementation of services for http endpoints.
+ */
+public interface HttpServer {
+
+    String HEARTBEAT             = "/heartbeat";
+    String SERVER_CONFIG         = "/api/config/serverConfig";
+
+    /**
+     * Http Status Code.
+     */
+    enum StatusCode {
+        OK(200),
+        REDIRECT(302),
+        NOT_FOUND(404),
+        INTERNAL_ERROR(500);
+
+        private int value;
+
+        StatusCode(int value) {
+            this.value = value;
+        }
+
+        public int getValue() {
+            return value;
+        }
+    }
+
+    /**
+     * Http Request Method.
+     */
+    enum Method {
+        GET,
+        POST,
+        PUT,
+        DELETE;
+    }
+
+    /**
+     * Initialize the HTTP server with underline service provider.
+     */
+    void initialize(ServiceProvider serviceProvider);
+
+    /**
+     * Start the HTTP server on given port.
+     */
+    void startServer(int port);
+
+    /**
+     * Stop the HTTP server.
+     */
+    void stopServer();
+
+    /**
+     * Check whether the HTTP server is still running.
+     */
+    boolean isRunning();
 
 Review comment:
   I think it'd be good to return a list of available endpoints here. That way 
you can check to see what all is available and its corresponding endpoint. 
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to