657e9a9de1c6b8aacc1b7d1d279ed115d87649b8
Christian Fraß [mod] server

Christian Fraß authored 3 years ago

1) namespace ns_server
2) {
3) 	
4) 	/**
5) 	 */
6) 	async function query
7) 	(
8) 		data_in : any
9) 	) : Promise<any>
10) 	{
11) 		console.info("[>>] query |", data_in);
12) 		const data_out : any = await api.query(data_in["action"], data_in["input"]);
13) 		console.info("[<<] query |", data_out);
14) 		return Promise.resolve<any>(data_out);
15) 	}
16) 	
17) 	
18) 	/**
19) 	 */
20) 	async function query_http
21) 	(
22) 		http_request : lib_http.type_request
23) 	) : Promise<lib_http.type_response>
24) 	{
25) 		// console.info("[>>] query_http |", http_request);
26) 		let http_response : lib_http.type_response;
27) 		switch (http_request.method)
28) 		{
29) 			case lib_http.enum_method.options:
30) 			{
31) 				http_response = {
32) 					"statuscode": 200,
33) 					"headers": {
34) 						"Allow": "OPTIONS, POST",
35) 						"Access-Control-Allow-Origin": "*",
36) 						"Access-Control-Allow-Methods": "OPTIONS,POST",
37) 						"Access-Control-Allow-Headers": "Content-Type",
38) 					},
39) 					"body": "",
40) 				};
41) 				break;
42) 			}
43) 			case lib_http.enum_method.post:
44) 			{
Christian Fraß [mod] server

Christian Fraß authored 3 years ago

45) 				const data_in : any = lib_json.decode(http_request.body);
Christian Fraß [mod] server

Christian Fraß authored 3 years ago

46) 				try
47) 				{
48) 					const data_out : any = await query(data_in);
49) 					http_response = {
50) 						"statuscode": 200,
51) 						"headers": {
52) 							"Allow": "OPTIONS, POST",
53) 							"Access-Control-Allow-Origin": "*",
54) 							"Access-Control-Allow-Methods": "OPTIONS,POST",
55) 							"Access-Control-Allow-Headers": "Content-Type",
56) 							"Content-Type": "application/json",
57) 						},
Christian Fraß [mod] server

Christian Fraß authored 3 years ago

58) 						"body": lib_json.encode(data_out),
Christian Fraß [mod] server

Christian Fraß authored 3 years ago

59) 					};
60) 				}
61) 				catch (exception)
62) 				{
63) 					console.error(exception);
64) 					const data_out : any = {};
65) 					http_response = {
66) 						"statuscode": 500,
67) 						"headers": {
68) 							"Allow": "OPTIONS, POST",
69) 							"Access-Control-Allow-Origin": "*",
70) 							"Access-Control-Allow-Methods": "OPTIONS,POST",
71) 							"Access-Control-Allow-Headers": "Content-Type",
72) 							"Content-Type": "application/json",
73) 						},
Christian Fraß [mod] server

Christian Fraß authored 3 years ago

74) 						"body": lib_json.encode(data_out),