Skip to content

Header user-agent is truncated #464

@bqader

Description

@bqader

Serverless Java Container version: Java 11 (Corretto)

Implementations: Jersey (+ Dagger)

Framework version: 2.35

Frontend service: HTTP API

Deployment method: Console

Scenario

We just need to get the client user agent but the value is truncated after the comma.

Expected behavior

servletRequest.getHeader("User-Agent") should return:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36

Actual behavior

servletRequest.getHeader("User-Agent") returns:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML

Steps to reproduce

`
package com.services.test;

import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.Enumeration;

@singleton
@path("test")
public class TestService {

private static final Logger logger = LoggerFactory.getLogger(TestService.class);

@Inject
public TestService() {
}

@GET
@Path("user-agent")
@Produces(MediaType.APPLICATION_JSON)
public AwsProxyResponse checkUserAgent(@Context HttpServletRequest servletRequest) {
    final AwsProxyResponse response = new AwsProxyResponse();
    response.setStatusCode(Response.Status.OK.getStatusCode());

    for (Enumeration<?> e = servletRequest.getHeaderNames(); e.hasMoreElements(); ) {
        String nextHeaderName = (String) e.nextElement();
        String headerValue = servletRequest.getHeader(nextHeaderName);
        logger.info("{} = {}", nextHeaderName, headerValue);
    }

    return response;
}

}
`

Full log output

issue_ua

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions