a04a3323be035522139b46eecae79fc37325162c
[nonrtric.git] / r-app-catalogue / src / main / java / org / oransc / rappcatalogue / configuration / TomcatConfig.java
1 /*-
2  * ========================LICENSE_START=================================
3  * Copyright (C) 2021 Nordix Foundation. All rights reserved.
4  * ======================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ========================LICENSE_END===================================
17  */
18
19 package org.oransc.rappcatalogue.configuration;
20
21 import org.apache.catalina.connector.Connector;
22 import org.springframework.beans.factory.annotation.Value;
23 import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
24 import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
25 import org.springframework.context.annotation.Bean;
26 import org.springframework.context.annotation.Configuration;
27
28 /**
29  * Configure embedded Tomcat
30  */
31
32 @Configuration
33 public class TomcatConfig {
34
35     @Value("${server.http-port}")
36     private int httpPort = 0;
37
38     // Embedded Tomcat with HTTP and HTTPS support
39     @Bean
40     public ServletWebServerFactory servletContainer() {
41         TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
42
43         if (httpPort > 0) {
44             tomcat.addAdditionalTomcatConnectors(getHttpConnector(httpPort));
45         }
46         return tomcat;
47     }
48
49     private static Connector getHttpConnector(int httpPort) {
50         Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
51         connector.setScheme("http");
52         connector.setPort(httpPort);
53         connector.setSecure(false);
54         return connector;
55     }
56 }