package io.quarkus.undertow.runtime;

import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Produces;
import javax.inject.Singleton;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import io.undertow.servlet.handlers.ServletRequestContext;

@Singleton
public class ServletProducer {

    @Produces
    @RequestScoped
    HttpServletRequest request() {
        return (HttpServletRequest) ServletRequestContext.requireCurrent().getServletRequest();
    }

    @Produces
    @RequestScoped
    HttpServletResponse response() {
        return (HttpServletResponse) ServletRequestContext.requireCurrent().getServletResponse();
    }
}

@@ -242,16 +242,55 @@
 esponse;
+%0Aimport javax.servlet.http.HttpSession;
 %0A%0Aimport
@@ -730,11 +730,118 @@
 );%0A    %7D
+%0A%0A    @Produces%0A    @RequestScoped%0A    HttpSession session() %7B%0A        return request().getSession();%0A    %7D
 %0A%7D%0A

Add support for injection of HttpSession