Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c86e3e9

Browse files
polish runtime impl
1 parent e937a1b commit c86e3e9

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

‎src/main/kotlin/com/github/md/Application.kt

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,17 @@ import org.http4k.core.Request
1616
import org.http4k.core.Response
1717

1818
const val requestIdHeaderName = "lambda-runtime-aws-request-id"
19+
const val runtimeApiEndpointVariableName = "AWS_LAMBDA_RUNTIME_API"
20+
const val handlerVariableName = "_HANDLER"
1921

2022
val client: HttpHandler = JavaHttpClient()
2123

2224
val json = jacksonObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
2325

2426
@Suppress("UNCHECKED_CAST")
2527
fun main() {
26-
val runtimeApiEndpoint = System.getenv("AWS_LAMBDA_RUNTIME_API")
27-
val handler = System.getenv("_HANDLER")
28+
val runtimeApiEndpoint = System.getenv(runtimeApiEndpointVariableName)
29+
val handler = System.getenv(handlerVariableName)
2830
val handlerInstance = Class.forName(handler).newInstance() as RequestHandler<ApiGatewayRequest, ApiGatewayResponse>
2931

3032
while(true) {
@@ -42,12 +44,11 @@ fun main() {
4244
}
4345
}
4446

47+
// see https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
4548
class CustomContext(val requestId: String): Context {
4649
override fun getAwsRequestId(): String = requestId
4750

48-
override fun getLogStreamName(): String {
49-
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
50-
}
51+
override fun getLogStreamName(): String = System.getenv("AWS_LAMBDA_LOG_STREAM_NAME")
5152

5253
override fun getClientContext(): ClientContext {
5354
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
@@ -69,17 +70,11 @@ class CustomContext(val requestId: String): Context {
6970
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
7071
}
7172

72-
override fun getMemoryLimitInMB(): Int {
73-
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
74-
}
73+
override fun getMemoryLimitInMB(): Int = System.getenv("AWS_LAMBDA_FUNCTION_MEMORY_SIZE").toInt()
7574

76-
override fun getLogGroupName(): String {
77-
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
78-
}
75+
override fun getLogGroupName(): String = System.getenv("AWS_LAMBDA_LOG_GROUP_NAME")
7976

80-
override fun getFunctionVersion(): String {
81-
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
82-
}
77+
override fun getFunctionVersion(): String = System.getenv("AWS_LAMBDA_FUNCTION_VERSION")
8378

8479
override fun getIdentity(): CognitoIdentity {
8580
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /