package com.uaihebert.uaimockserver.servlet; import com.uaihebert.uaimockserver.context.UaiMockServerContext; import com.uaihebert.uaimockserver.dto.model.UaiFileDTO; import com.uaihebert.uaimockserver.dto.model.UaiRootConfigurationDTO; import com.uaihebert.uaimockserver.model.UaiMockServerConfig; import com.uaihebert.uaimockserver.service.UaiRootContextService; import com.uaihebert.uaimockserver.util.JsonUtil; import com.uaihebert.uaimockserver.util.RequestBodyExtractor; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class UaiRootConfigurationsServlet extends AbstractServlet { @Override protected void doGet(final HttpServletRequest httpRequest, final HttpServletResponse httpResponse) throws ServletException, IOException { httpResponse.setContentType("application/json"); super.addDefaultHeaders(httpResponse); final String body = getRouteConfigurationBody(); writeInResponse(httpResponse, body); } @Override protected void doPut(final HttpServletRequest httpRequest, final HttpServletResponse httpResponse) throws ServletException, IOException { final UaiRootConfigurationDTO uaiRouteConfigDTO = RequestBodyExtractor.extract(httpRequest, UaiRootConfigurationDTO.class); UaiRootContextService.update(uaiRouteConfigDTO); send204Response(httpResponse); } public String getRouteConfigurationBody() { final UaiRootConfigurationDTO configurationsDTO = new UaiRootConfigurationDTO(); final UaiMockServerConfig mainConfig = UaiMockServerContext.getInstance().uaiMockServerConfig; configurationsDTO.setHost(mainConfig.getHost()); configurationsDTO.setPort(mainConfig.getPort()); configurationsDTO.setContext(mainConfig.getContext()); configurationsDTO.setFileLog(mainConfig.isFileLog()); configurationsDTO.setConsoleLog(mainConfig.isConsoleLog()); configurationsDTO.setUaiMainFile(new UaiFileDTO(mainConfig.getUaiFile().getName(), mainConfig.getUaiFile().getFullPath())); configurationsDTO.setDefaultContentType(mainConfig.getDefaultContentTypeResponse()); return JsonUtil.toJson(configurationsDTO); } }