All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.undertow.protocols.ajp.AjpConstants Maven / Gradle / Ivy

Go to download

This artifact provides a single jar that contains all classes required to use remote EJB and JMS, including all dependencies. It is intended for use by those not using maven, maven users should just import the EJB and JMS BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up with different versions on classes on the class path).

There is a newer version: 34.0.0.Final
Show newest version
package io.undertow.protocols.ajp;

import static io.undertow.util.Methods.ACL;
import static io.undertow.util.Methods.BASELINE_CONTROL;
import static io.undertow.util.Methods.CHECKIN;
import static io.undertow.util.Methods.CHECKOUT;
import static io.undertow.util.Methods.COPY;
import static io.undertow.util.Methods.DELETE;
import static io.undertow.util.Methods.GET;
import static io.undertow.util.Methods.HEAD;
import static io.undertow.util.Methods.LABEL;
import static io.undertow.util.Methods.LOCK;
import static io.undertow.util.Methods.MERGE;
import static io.undertow.util.Methods.MKACTIVITY;
import static io.undertow.util.Methods.MKCOL;
import static io.undertow.util.Methods.MKWORKSPACE;
import static io.undertow.util.Methods.MOVE;
import static io.undertow.util.Methods.OPTIONS;
import static io.undertow.util.Methods.POST;
import static io.undertow.util.Methods.PROPFIND;
import static io.undertow.util.Methods.PROPPATCH;
import static io.undertow.util.Methods.PUT;
import static io.undertow.util.Methods.REPORT;
import static io.undertow.util.Methods.SEARCH;
import static io.undertow.util.Methods.TRACE;
import static io.undertow.util.Methods.UNCHECKOUT;
import static io.undertow.util.Methods.UNLOCK;
import static io.undertow.util.Methods.UPDATE;
import static io.undertow.util.Methods.VERSION_CONTROL;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import io.undertow.util.Headers;
import io.undertow.util.HttpString;

/**
 * @author Stuart Douglas
 */
class AjpConstants {


    public static final int FRAME_TYPE_SEND_HEADERS = 4;
    public static final int FRAME_TYPE_REQUEST_BODY_CHUNK = 6;
    public static final int FRAME_TYPE_SEND_BODY_CHUNK = 3;
    public static final int FRAME_TYPE_END_RESPONSE = 5;
    public static final int FRAME_TYPE_CPONG = 9;
    public static final int FRAME_TYPE_CPING = 10;
    public static final int FRAME_TYPE_SHUTDOWN = 7;


    static final Map HEADER_MAP;
    static final Map HTTP_METHODS_MAP;
    static final HttpString[] HTTP_HEADERS_ARRAY;

    static final int ATTR_CONTEXT = 0x01;
    static final int ATTR_SERVLET_PATH = 0x02;
    static final int ATTR_REMOTE_USER = 0x03;
    static final int ATTR_AUTH_TYPE = 0x04;
    static final int ATTR_QUERY_STRING = 0x05;
    static final int ATTR_ROUTE = 0x06;
    static final int ATTR_SSL_CERT = 0x07;
    static final int ATTR_SSL_CIPHER = 0x08;
    static final int ATTR_SSL_SESSION = 0x09;
    static final int ATTR_REQ_ATTRIBUTE = 0x0A;
    static final int ATTR_SSL_KEY_SIZE = 0x0B;
    static final int ATTR_SECRET = 0x0C;
    static final int ATTR_STORED_METHOD = 0x0D;
    static final int ATTR_ARE_DONE = 0xFF;


    static {
        final Map headers = new HashMap<>();
        headers.put(Headers.ACCEPT, 0xA001);
        headers.put(Headers.ACCEPT_CHARSET, 0xA002);
        headers.put(Headers.ACCEPT_ENCODING, 0xA003);
        headers.put(Headers.ACCEPT_LANGUAGE, 0xA004);
        headers.put(Headers.AUTHORIZATION, 0xA005);
        headers.put(Headers.CONNECTION, 0xA006);
        headers.put(Headers.CONTENT_TYPE, 0xA007);
        headers.put(Headers.CONTENT_LENGTH, 0xA008);
        headers.put(Headers.COOKIE, 0xA009);
        headers.put(Headers.COOKIE2, 0xA00A);
        headers.put(Headers.HOST, 0xA00B);
        headers.put(Headers.PRAGMA, 0xA00C);
        headers.put(Headers.REFERER, 0xA00D);
        headers.put(Headers.USER_AGENT, 0xA00E);

        HEADER_MAP = Collections.unmodifiableMap(headers);

        final Map methods = new HashMap<>();
        methods.put(OPTIONS, 1);
        methods.put(GET, 2);
        methods.put(HEAD, 3);
        methods.put(POST, 4);
        methods.put(PUT, 5);
        methods.put(DELETE, 6);
        methods.put(TRACE, 7);
        methods.put(PROPFIND, 8);
        methods.put(PROPPATCH, 9);
        methods.put(MKCOL, 10);
        methods.put(COPY, 11);
        methods.put(MOVE, 12);
        methods.put(LOCK, 13);
        methods.put(UNLOCK, 14);
        methods.put(ACL, 15);
        methods.put(REPORT, 16);
        methods.put(VERSION_CONTROL, 17);
        methods.put(CHECKIN, 18);
        methods.put(CHECKOUT, 19);
        methods.put(UNCHECKOUT, 20);
        methods.put(SEARCH, 21);
        methods.put(MKWORKSPACE, 22);
        methods.put(UPDATE, 23);
        methods.put(LABEL, 24);
        methods.put(MERGE, 25);
        methods.put(BASELINE_CONTROL, 26);
        methods.put(MKACTIVITY, 27);
        HTTP_METHODS_MAP = Collections.unmodifiableMap(methods);

        HTTP_HEADERS_ARRAY = new HttpString[]{null,
                Headers.CONTENT_TYPE,
                Headers.CONTENT_LANGUAGE,
                Headers.CONTENT_LENGTH,
                Headers.DATE,
                Headers.LAST_MODIFIED,
                Headers.LOCATION,
                Headers.SET_COOKIE,
                Headers.SET_COOKIE2,
                Headers.SERVLET_ENGINE,
                Headers.STATUS,
                Headers.WWW_AUTHENTICATE
        };
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy