Skip to content

Commit 9ef8896

Browse files
add basic conversion utilities
1 parent 717204d commit 9ef8896

File tree

1 file changed

+82
-1
lines changed

1 file changed

+82
-1
lines changed
Lines changed: 82 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,83 @@
1-
package org.example;public class Utilities {
1+
package org.example;
2+
3+
import com.fasterxml.jackson.core.JsonProcessingException;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.sun.net.httpserver.Headers;
6+
7+
import java.io.ByteArrayOutputStream;
8+
import java.io.InputStream;
9+
import java.net.URI;
10+
import java.nio.charset.StandardCharsets;
11+
import java.util.HashMap;
12+
import java.util.Map;
13+
14+
public class Utilities {
15+
16+
public String ConvertMapToJson(Map<String, Object> map) throws JsonProcessingException {
17+
18+
ObjectMapper objectMapper = new ObjectMapper();
19+
return objectMapper.writeValueAsString(map);
20+
}
21+
22+
public String ReqBodyToByteArray(InputStream requestBody) throws Exception {
23+
24+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
25+
byte[] buffer = new byte[1024];
26+
int bytesRead = -1;
27+
while ((bytesRead = requestBody.read(buffer)) != -1) {
28+
baos.write(buffer, 0, bytesRead);
29+
}
30+
31+
String responseBodyString = baos.toString(StandardCharsets.UTF_8);
32+
33+
return responseBodyString;
34+
}
35+
36+
public Map QueryParamsToMap(String query) {
37+
// parsing query parameters
38+
Map<String, String> queryParamsMap = new HashMap<>();
39+
if (query != null) {
40+
String[] queryParams = query.split("&");
41+
for (String param : queryParams) {
42+
String[] keyValue = param.split("=");
43+
if (keyValue.length == 2) {
44+
queryParamsMap.put(keyValue[0], keyValue[1]);
45+
}
46+
}
47+
}
48+
49+
return queryParamsMap;
50+
}
51+
52+
public Map QueryHeadersToMap(Headers requestHeaders) {
53+
Map<String, String> headerParamsMap = new HashMap<>();
54+
for (String header : requestHeaders.keySet()) {
55+
headerParamsMap.put(header, requestHeaders.get(header).get(0));
56+
}
57+
58+
return headerParamsMap;
59+
}
60+
61+
public String GetJSONResponse(String requestMethod, Headers requestHeaders, String responseBodyString, String query, String path) throws JsonProcessingException {
62+
// Mapping each element to a key
63+
Map<String, Object> parsedBodyMap = new HashMap<>();
64+
65+
// parsing header parameters
66+
Map headerParamsMap = QueryHeadersToMap(requestHeaders);
67+
68+
// parsing query parameters
69+
Map queryParamsMap = QueryParamsToMap(query);
70+
71+
// adding elements to parsedBodyMap
72+
parsedBodyMap.put("request method", requestMethod);
73+
parsedBodyMap.put("request body", responseBodyString);
74+
parsedBodyMap.put("header params", headerParamsMap);
75+
parsedBodyMap.put("query params", queryParamsMap);
76+
parsedBodyMap.put("query path", path);
77+
78+
// converting parsedBodyMap to JSON string
79+
String jsonStr = ConvertMapToJson(parsedBodyMap);
80+
81+
return jsonStr;
82+
}
283
}

0 commit comments

Comments
 (0)