runtime/runtime_impl_jetty12/src/main/java/com/google/apphosting/runtime/jetty/ee8/FileSender.java [68:118]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private void writeHeaders(
      ServletContext servletContext,
      HttpServletResponse response,
      Resource resource,
      long contentCount,
      String urlPath)
      throws IOException {
    String contentType = servletContext.getMimeType(resource.getName());
    if (contentType != null) {
      response.setContentType(contentType);
    }

    if (contentCount != -1) {
      if (contentCount < Integer.MAX_VALUE) {
        response.setContentLength((int) contentCount);
      } else {
        response.setContentLengthLong(contentCount);
      }
    }

    response.setDateHeader(HttpHeader.LAST_MODIFIED.asString(), resource.lastModified().toEpochMilli());
    if (appYaml != null) {
      // Add user specific static headers
      Optional<AppYaml.Handler> maybeHandler =
          appYaml.getHandlers().stream()
              .filter(
                  handler ->
                      handler.getStatic_files() != null
                          && handler.getRegularExpression() != null
                          && handler.getRegularExpression().matcher(urlPath).matches())
              .findFirst();

      maybeHandler.ifPresent(
          handler -> {
            String cacheControlValue =
                CacheControlHeader.fromExpirationTime(handler.getExpiration()).getValue();
            response.setHeader(HttpHeader.CACHE_CONTROL.asString(), cacheControlValue);
            Map<String, String> headersFromHandler = handler.getHttp_headers();
            if (headersFromHandler != null) {
              for (Map.Entry<String, String> entry : headersFromHandler.entrySet()) {
                response.addHeader(entry.getKey(), entry.getValue());
              }
            }
          });
    }

    if (Strings.isNullOrEmpty(response.getHeader(HttpHeader.CACHE_CONTROL.asString()))) {
      response.setHeader(
          HttpHeader.CACHE_CONTROL.asString(), CacheControlHeader.getDefaultInstance().getValue());
    }
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



runtime/runtime_impl_jetty12/src/main/java/com/google/apphosting/runtime/jetty/ee10/FileSender.java [68:118]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private void writeHeaders(
      ServletContext servletContext,
      HttpServletResponse response,
      Resource resource,
      long contentCount,
      String urlPath)
      throws IOException {
    String contentType = servletContext.getMimeType(resource.getName());
    if (contentType != null) {
      response.setContentType(contentType);
    }

    if (contentCount != -1) {
      if (contentCount < Integer.MAX_VALUE) {
        response.setContentLength((int) contentCount);
      } else {
        response.setContentLengthLong(contentCount);
      }
    }

    response.setDateHeader(HttpHeader.LAST_MODIFIED.asString(), resource.lastModified().toEpochMilli());
    if (appYaml != null) {
      // Add user specific static headers
      Optional<AppYaml.Handler> maybeHandler =
          appYaml.getHandlers().stream()
              .filter(
                  handler ->
                      handler.getStatic_files() != null
                          && handler.getRegularExpression() != null
                          && handler.getRegularExpression().matcher(urlPath).matches())
              .findFirst();

      maybeHandler.ifPresent(
          handler -> {
            String cacheControlValue =
                CacheControlHeader.fromExpirationTime(handler.getExpiration()).getValue();
            response.setHeader(HttpHeader.CACHE_CONTROL.asString(), cacheControlValue);
            Map<String, String> headersFromHandler = handler.getHttp_headers();
            if (headersFromHandler != null) {
              for (Map.Entry<String, String> entry : headersFromHandler.entrySet()) {
                response.addHeader(entry.getKey(), entry.getValue());
              }
            }
          });
    }

    if (Strings.isNullOrEmpty(response.getHeader(HttpHeader.CACHE_CONTROL.asString()))) {
      response.setHeader(
          HttpHeader.CACHE_CONTROL.asString(), CacheControlHeader.getDefaultInstance().getValue());
    }
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



