Skip to content

Commit 5444b81

Browse files
committed
stream handler
1 parent 3d0f9b4 commit 5444b81

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package example;
2+
3+
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
5+
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
6+
7+
import com.google.gson.Gson;
8+
import com.google.gson.GsonBuilder;
9+
import com.google.gson.JsonSyntaxException;
10+
11+
12+
import java.util.HashMap;
13+
import java.io.InputStream;
14+
import java.io.IOException;
15+
import java.io.OutputStream;
16+
import java.io.InputStreamReader;
17+
import java.io.BufferedReader;
18+
import java.io.OutputStreamWriter;
19+
import java.io.PrintWriter;
20+
import java.io.BufferedWriter;
21+
import java.nio.charset.Charset;
22+
import java.lang.IllegalStateException;
23+
24+
// Handler value: example.Handler
25+
public class HandlerStream implements RequestStreamHandler {
26+
Gson gson = new GsonBuilder().setPrettyPrinting().create();
27+
@Override
28+
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException
29+
{
30+
LambdaLogger logger = context.getLogger();
31+
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("US-ASCII")));
32+
PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream, Charset.forName("US-ASCII"))));
33+
try
34+
{
35+
HashMap event = gson.fromJson(reader, HashMap.class);
36+
logger.log("STREAM TYPE: " + inputStream.getClass().toString());
37+
logger.log("EVENT TYPE: " + event.getClass().toString());
38+
writer.write(gson.toJson(event));
39+
if (writer.checkError())
40+
{
41+
logger.log("WARNING: Writer encountered an error.");
42+
}
43+
}
44+
catch (IllegalStateException | JsonSyntaxException exception)
45+
{
46+
logger.log(exception.toString());
47+
}
48+
finally
49+
{
50+
reader.close();
51+
writer.close();
52+
}
53+
}
54+
}

0 commit comments

Comments
 (0)