Deployment changes to support Gov Azure.
This commit is contained in:
Родитель
99d9dd31f7
Коммит
d749396e16
|
@ -0,0 +1,192 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||||
|
"contentVersion": "1.0.0.0",
|
||||||
|
"parameters": {
|
||||||
|
"groupLocation": {
|
||||||
|
"defaultValue": "",
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Specifies the location of the Resource Group."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"groupName": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Specifies the name of the Resource Group."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"appId": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Active Directory App ID, set as MicrosoftAppId in the Web App's Application Settings."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"appSecret": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Active Directory App Password, set as MicrosoftAppPassword in the Web App's Application Settings."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"botId": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The globally unique and immutable bot ID. Also used to configure the displayName of the bot, which is mutable."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"botSku": {
|
||||||
|
"defaultValue": "S1",
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The pricing tier of the Bot Service Registration. Acceptable values are F0 and S1."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newAppServicePlanName": {
|
||||||
|
"defaultValue": "",
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The name of the App Service Plan."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newAppServicePlanSku": {
|
||||||
|
"type": "object",
|
||||||
|
"defaultValue": {
|
||||||
|
"name": "S1",
|
||||||
|
"tier": "Standard",
|
||||||
|
"size": "S1",
|
||||||
|
"family": "S",
|
||||||
|
"capacity": 1
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "The SKU of the App Service Plan. Defaults to Standard values."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newAppServicePlanLocation": {
|
||||||
|
"defaultValue": "",
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The location of the App Service Plan. Defaults to \"westus\"."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newWebAppName": {
|
||||||
|
"type": "string",
|
||||||
|
"defaultValue": "",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The globally unique name of the Web App. Defaults to the value passed in for \"botId\"."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": {
|
||||||
|
"resourcesLocation": "[deployment().location]",
|
||||||
|
"effectiveGroupLocation": "[if(empty(parameters('groupLocation')), variables('resourcesLocation'), parameters('groupLocation'))]",
|
||||||
|
"effectivePlanLocation": "[if(empty(parameters('newAppServicePlanLocation')), variables('resourcesLocation'), parameters('newAppServicePlanLocation'))]",
|
||||||
|
"appServicePlanName": "[if(empty(parameters('newAppServicePlanName')), concat(parameters('botId'), 'ServicePlan'), parameters('newAppServicePlanName'))]",
|
||||||
|
"webAppName": "[if(empty(parameters('newWebAppName')), parameters('botId'), parameters('newWebAppName'))]",
|
||||||
|
"siteHost": "[concat(variables('webAppName'), '.azurewebsites.us')]",
|
||||||
|
"botEndpoint": "[concat('https://', variables('siteHost'), '/api/messages')]"
|
||||||
|
},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"name": "[parameters('groupName')]",
|
||||||
|
"type": "Microsoft.Resources/resourceGroups",
|
||||||
|
"apiVersion": "2018-05-01",
|
||||||
|
"location": "[variables('effectiveGroupLocation')]",
|
||||||
|
"properties": {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Microsoft.Resources/deployments",
|
||||||
|
"apiVersion": "2018-05-01",
|
||||||
|
"name": "storageDeployment",
|
||||||
|
"resourceGroup": "[parameters('groupName')]",
|
||||||
|
"dependsOn": [
|
||||||
|
"[resourceId('Microsoft.Resources/resourceGroups/', parameters('groupName'))]"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"mode": "Incremental",
|
||||||
|
"template": {
|
||||||
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||||
|
"contentVersion": "1.0.0.0",
|
||||||
|
"parameters": {},
|
||||||
|
"variables": {},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"comments": "Create a new App Service Plan",
|
||||||
|
"type": "Microsoft.Web/serverfarms",
|
||||||
|
"name": "[variables('appServicePlanName')]",
|
||||||
|
"apiVersion": "2018-02-01",
|
||||||
|
"location": "[variables('effectivePlanLocation')]",
|
||||||
|
"sku": "[parameters('newAppServicePlanSku')]",
|
||||||
|
"kind": "app",
|
||||||
|
"properties": {
|
||||||
|
"name": "[variables('appServicePlanName')]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comments": "Create a Web App using the new App Service Plan",
|
||||||
|
"type": "Microsoft.Web/sites",
|
||||||
|
"apiVersion": "2015-08-01",
|
||||||
|
"location": "[variables('resourcesLocation')]",
|
||||||
|
"kind": "app",
|
||||||
|
"dependsOn": [
|
||||||
|
"[resourceId('Microsoft.Web/serverfarms/', variables('appServicePlanName'))]"
|
||||||
|
],
|
||||||
|
"name": "[variables('webAppName')]",
|
||||||
|
"properties": {
|
||||||
|
"name": "[variables('webAppName')]",
|
||||||
|
"serverFarmId": "[variables('appServicePlanName')]",
|
||||||
|
"siteConfig": {
|
||||||
|
"appSettings": [
|
||||||
|
{
|
||||||
|
"name": "JAVA_OPTS",
|
||||||
|
"value": "-Dserver.port=80"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MicrosoftAppId",
|
||||||
|
"value": "[parameters('appId')]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MicrosoftAppPassword",
|
||||||
|
"value": "[parameters('appSecret')]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cors": {
|
||||||
|
"allowedOrigins": [
|
||||||
|
"https://botservice.hosting.azureportal.usgovcloudapi.net",
|
||||||
|
"https://botservice-ms.hosting.azureportal.usgovcloudapi.net",
|
||||||
|
"https://hosting.onecloud.azure-test.net/"
|
||||||
|
],
|
||||||
|
"supportCredentials": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apiVersion": "2017-12-01",
|
||||||
|
"type": "Microsoft.BotService/botServices",
|
||||||
|
"name": "[parameters('botId')]",
|
||||||
|
"location": "global",
|
||||||
|
"kind": "bot",
|
||||||
|
"sku": {
|
||||||
|
"name": "[parameters('botSku')]"
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"name": "[parameters('botId')]",
|
||||||
|
"displayName": "[parameters('botId')]",
|
||||||
|
"endpoint": "[variables('botEndpoint')]",
|
||||||
|
"msaAppId": "[parameters('appId')]",
|
||||||
|
"developerAppInsightsApplicationId": null,
|
||||||
|
"developerAppInsightKey": null,
|
||||||
|
"publishingCredentials": null,
|
||||||
|
"storageResourceId": null
|
||||||
|
},
|
||||||
|
"dependsOn": [
|
||||||
|
"[resourceId('Microsoft.Web/sites/', variables('webAppName'))]"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"outputs": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,158 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||||
|
"contentVersion": "1.0.0.0",
|
||||||
|
"parameters": {
|
||||||
|
"appId": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Active Directory App ID, set as MicrosoftAppId in the Web App's Application Settings."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"appSecret": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Active Directory App Password, set as MicrosoftAppPassword in the Web App's Application Settings. Defaults to \"\"."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"botId": {
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The globally unique and immutable bot ID. Also used to configure the displayName of the bot, which is mutable."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"botSku": {
|
||||||
|
"defaultValue": "S1",
|
||||||
|
"type": "string",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The pricing tier of the Bot Service Registration. Acceptable values are F0 and S1."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newAppServicePlanName": {
|
||||||
|
"type": "string",
|
||||||
|
"defaultValue": "",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The name of the new App Service Plan."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newAppServicePlanSku": {
|
||||||
|
"type": "object",
|
||||||
|
"defaultValue": {
|
||||||
|
"name": "S1",
|
||||||
|
"tier": "Standard",
|
||||||
|
"size": "S1",
|
||||||
|
"family": "S",
|
||||||
|
"capacity": 1
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "The SKU of the App Service Plan. Defaults to Standard values."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"appServicePlanLocation": {
|
||||||
|
"type": "string",
|
||||||
|
"defaultValue": "",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The location of the App Service Plan."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"existingAppServicePlan": {
|
||||||
|
"type": "string",
|
||||||
|
"defaultValue": "",
|
||||||
|
"metadata": {
|
||||||
|
"description": "Name of the existing App Service Plan used to create the Web App for the bot."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newWebAppName": {
|
||||||
|
"type": "string",
|
||||||
|
"defaultValue": "",
|
||||||
|
"metadata": {
|
||||||
|
"description": "The globally unique name of the Web App. Defaults to the value passed in for \"botId\"."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": {
|
||||||
|
"defaultAppServicePlanName": "[if(empty(parameters('existingAppServicePlan')), 'createNewAppServicePlan', parameters('existingAppServicePlan'))]",
|
||||||
|
"useExistingAppServicePlan": "[not(equals(variables('defaultAppServicePlanName'), 'createNewAppServicePlan'))]",
|
||||||
|
"servicePlanName": "[if(variables('useExistingAppServicePlan'), parameters('existingAppServicePlan'), if(empty(parameters('newAppServicePlanName')),concat(parameters('botId'), 'ServicePlan'),parameters('newAppServicePlanName')))]",
|
||||||
|
"resourcesLocation": "[if(empty(parameters('appServicePlanLocation')), resourceGroup().location, parameters('appServicePlanLocation'))]",
|
||||||
|
"webAppName": "[if(empty(parameters('newWebAppName')), parameters('botId'), parameters('newWebAppName'))]",
|
||||||
|
"siteHost": "[concat(variables('webAppName'), '.azurewebsites.us')]",
|
||||||
|
"botEndpoint": "[concat('https://', variables('siteHost'), '/api/messages')]"
|
||||||
|
},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"comments": "Create a new App Service Plan if no existing App Service Plan name was passed in.",
|
||||||
|
"type": "Microsoft.Web/serverfarms",
|
||||||
|
"condition": "[not(variables('useExistingAppServicePlan'))]",
|
||||||
|
"name": "[variables('servicePlanName')]",
|
||||||
|
"apiVersion": "2018-02-01",
|
||||||
|
"location": "[variables('resourcesLocation')]",
|
||||||
|
"sku": "[parameters('newAppServicePlanSku')]",
|
||||||
|
"kind": "app",
|
||||||
|
"properties": {
|
||||||
|
"name": "[variables('servicePlanName')]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comments": "Create a Web App using an App Service Plan",
|
||||||
|
"type": "Microsoft.Web/sites",
|
||||||
|
"apiVersion": "2016-08-01",
|
||||||
|
"location": "[variables('resourcesLocation')]",
|
||||||
|
"kind": "app",
|
||||||
|
"dependsOn": [
|
||||||
|
"[resourceId('Microsoft.Web/serverfarms/', variables('servicePlanName'))]"
|
||||||
|
],
|
||||||
|
"name": "[variables('webAppName')]",
|
||||||
|
"properties": {
|
||||||
|
"name": "[variables('webAppName')]",
|
||||||
|
"serverFarmId": "[variables('servicePlanName')]",
|
||||||
|
"siteConfig": {
|
||||||
|
"appSettings": [
|
||||||
|
{
|
||||||
|
"name": "JAVA_OPTS",
|
||||||
|
"value": "-Dserver.port=80"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MicrosoftAppId",
|
||||||
|
"value": "[parameters('appId')]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MicrosoftAppPassword",
|
||||||
|
"value": "[parameters('appSecret')]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cors": {
|
||||||
|
"allowedOrigins": [
|
||||||
|
"https://botservice.hosting.azureportal.usgovcloudapi.net",
|
||||||
|
"https://botservice-ms.hosting.azureportal.usgovcloudapi.net",
|
||||||
|
"https://hosting.onecloud.azure-test.net/"
|
||||||
|
],
|
||||||
|
"supportCredentials": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apiVersion": "2017-12-01",
|
||||||
|
"type": "Microsoft.BotService/botServices",
|
||||||
|
"name": "[parameters('botId')]",
|
||||||
|
"location": "global",
|
||||||
|
"kind": "bot",
|
||||||
|
"sku": {
|
||||||
|
"name": "[parameters('botSku')]"
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"name": "[parameters('botId')]",
|
||||||
|
"displayName": "[parameters('botId')]",
|
||||||
|
"endpoint": "[variables('botEndpoint')]",
|
||||||
|
"msaAppId": "[parameters('appId')]",
|
||||||
|
"developerAppInsightsApplicationId": null,
|
||||||
|
"developerAppInsightKey": null,
|
||||||
|
"publishingCredentials": null,
|
||||||
|
"storageResourceId": null
|
||||||
|
},
|
||||||
|
"dependsOn": [
|
||||||
|
"[resourceId('Microsoft.Web/sites/', variables('webAppName'))]"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -61,16 +61,29 @@
|
||||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||||
<version>2.9.8</version>
|
<version>2.9.8</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-api</artifactId>
|
<artifactId>slf4j-api</artifactId>
|
||||||
<version>1.7.26</version>
|
<version>1.7.22</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-api</artifactId>
|
||||||
|
<version>2.11.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-core</artifactId>
|
||||||
|
<version>2.11.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-simple</artifactId>
|
<artifactId>slf4j-log4j12</artifactId>
|
||||||
<version>1.7.26</version>
|
<version>1.7.25</version>
|
||||||
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.microsoft.bot</groupId>
|
<groupId>com.microsoft.bot</groupId>
|
||||||
<artifactId>bot-schema</artifactId>
|
<artifactId>bot-schema</artifactId>
|
||||||
|
|
|
@ -16,15 +16,17 @@ import com.microsoft.bot.integration.Configuration;
|
||||||
import com.microsoft.bot.integration.ConfigurationChannelProvider;
|
import com.microsoft.bot.integration.ConfigurationChannelProvider;
|
||||||
import com.microsoft.bot.schema.Activity;
|
import com.microsoft.bot.schema.Activity;
|
||||||
import com.microsoft.bot.schema.ActivityTypes;
|
import com.microsoft.bot.schema.ActivityTypes;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import javax.servlet.*;
|
import javax.servlet.*;
|
||||||
import javax.servlet.http.*;
|
import javax.servlet.http.*;
|
||||||
import javax.servlet.annotation.WebServlet;
|
import javax.servlet.annotation.WebServlet;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.util.concurrent.CompletionException;
|
import java.util.concurrent.CompletionException;
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the Servlet that will receive incoming Channel Activity messages.
|
* This is the Servlet that will receive incoming Channel Activity messages.
|
||||||
|
@ -32,7 +34,7 @@ import java.util.logging.Logger;
|
||||||
@WebServlet(name = "EchoServlet", urlPatterns = "/api/messages")
|
@WebServlet(name = "EchoServlet", urlPatterns = "/api/messages")
|
||||||
public class EchoServlet extends HttpServlet {
|
public class EchoServlet extends HttpServlet {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private static final Logger LOGGER = Logger.getLogger(EchoServlet.class.getName());
|
private static final Logger LOGGER = LoggerFactory.getLogger(EchoServlet.class);
|
||||||
|
|
||||||
private ObjectMapper objectMapper;
|
private ObjectMapper objectMapper;
|
||||||
private CredentialProvider credentialProvider;
|
private CredentialProvider credentialProvider;
|
||||||
|
@ -61,9 +63,21 @@ public class EchoServlet extends HttpServlet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
try (PrintWriter out = response.getWriter()) {
|
||||||
|
out.println("hello world");
|
||||||
|
response.setStatus(HttpServletResponse.SC_ACCEPTED);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
|
||||||
try {
|
try {
|
||||||
|
LOGGER.debug("Received request");
|
||||||
|
|
||||||
Activity activity = getActivity(request);
|
Activity activity = getActivity(request);
|
||||||
String authHeader = request.getHeader("Authorization");
|
String authHeader = request.getHeader("Authorization");
|
||||||
|
|
||||||
|
@ -82,14 +96,14 @@ public class EchoServlet extends HttpServlet {
|
||||||
response.setStatus(HttpServletResponse.SC_ACCEPTED);
|
response.setStatus(HttpServletResponse.SC_ACCEPTED);
|
||||||
} catch (CompletionException ex) {
|
} catch (CompletionException ex) {
|
||||||
if (ex.getCause() instanceof AuthenticationException) {
|
if (ex.getCause() instanceof AuthenticationException) {
|
||||||
LOGGER.log(Level.WARNING, "Auth failed!", ex);
|
LOGGER.error("Auth failed!", ex);
|
||||||
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
||||||
} else {
|
} else {
|
||||||
LOGGER.log(Level.WARNING, "Execution failed", ex);
|
LOGGER.error("Execution failed", ex);
|
||||||
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
LOGGER.log(Level.WARNING, "Execution failed", ex);
|
LOGGER.error("Execution failed", ex);
|
||||||
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -97,7 +111,7 @@ public class EchoServlet extends HttpServlet {
|
||||||
// Creates an Activity object from the request
|
// Creates an Activity object from the request
|
||||||
private Activity getActivity(HttpServletRequest request) throws IOException, JsonParseException, JsonMappingException {
|
private Activity getActivity(HttpServletRequest request) throws IOException, JsonParseException, JsonMappingException {
|
||||||
String body = getRequestBody(request);
|
String body = getRequestBody(request);
|
||||||
LOGGER.log(Level.INFO, body);
|
LOGGER.debug(body);
|
||||||
return objectMapper.readValue(body, Activity.class);
|
return objectMapper.readValue(body, Activity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"name": "Default",
|
||||||
|
"appenders": {
|
||||||
|
"Console": {
|
||||||
|
"name": "Console-Appender",
|
||||||
|
"target": "SYSTEM_OUT",
|
||||||
|
"PatternLayout": {"pattern": "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"loggers": {
|
||||||
|
"root": {
|
||||||
|
"level": "debug",
|
||||||
|
"appender-ref": {"ref": "Console-Appender","level": "debug"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче