Update the license for 2017-2018 license
[aai/aai-common.git] / aai-client-loadbalancer / src / main / java / org / onap / aai / config / HttpPing.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *    http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.aai.config;
21
22 import java.util.Optional;
23
24 /**
25  * <b>HttpPing</b> interface provides access to update the endpoint and
26  * and the security level of the server that the user is trying to access
27  */
28 public interface HttpPing {
29
30     /**
31      * Sets the endpoint that the http get request will
32      * make to verify if the url can be reached
33      *
34      * @param endpoint - the endpoint of the url that is used to do healthcheck
35      */
36     void setHealthCheckEndpoint(String endpoint);
37
38     /**
39      * Returns the health check endpoint that the implementation
40      * will use in order to verify if the server is reachable at that location
41      *
42      * @return endpoint - the endpoint of the url that is used to do healthcheck
43      */
44     String getHealthCheckEndpoint();
45
46     /**
47      * Set the credentials for the rest endpoint to verify authorization
48      *
49      * @param username - the username to the server trying to connect to
50      * @param password - the password to the server trying to connect to
51      */
52     void setCredentials(String username, String password);
53
54     /**
55      * Return the base64 authorization string set from the username and password
56      *
57      * @return encoded string using base64 of the username and password values
58      * like this:
59      * <pre>
60      * @{code
61      *      "username:password" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
62      * }
63      * </pre>
64      */
65     Optional<String> getAuthorization();
66 }