You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2021/04/29 12:26:01 UTC

[tomee-jakarta] 02/02: Removed because the TCK test has been challenged so no need to patch yet

This is an automated email from the ASF dual-hosted git repository.

jlmonteiro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-jakarta.git

commit 2e884ba4d42c78d3391452860fe194f2085fea43
Author: Jean-Louis Monteiro <jl...@tomitribe.com>
AuthorDate: Thu Apr 29 14:25:40 2021 +0200

    Removed because the TCK test has been challenged so no need to patch yet
---
 .../websocket/server/WsHandshakeRequest.java       | 193 ---------------------
 1 file changed, 193 deletions(-)

diff --git a/tomee/apache-tomee/src/patch/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java b/tomee/apache-tomee/src/patch/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java
deleted file mode 100644
index 3fb0b11..0000000
--- a/tomee/apache-tomee/src/patch/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tomcat.websocket.server;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.security.Principal;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.websocket.server.HandshakeRequest;
-
-import org.apache.tomcat.util.collections.CaseInsensitiveKeyMap;
-import org.apache.tomcat.util.res.StringManager;
-
-/**
- * Represents the request that this session was opened under.
- */
-public class WsHandshakeRequest implements HandshakeRequest {
-
-    private static final StringManager sm = StringManager.getManager(WsHandshakeRequest.class);
-
-    private final URI requestUri;
-    private final Map<String,List<String>> parameterMap;
-    private final String queryString;
-    private final Principal userPrincipal;
-    private final Map<String,List<String>> headers;
-    private final Object httpSession;
-
-    private volatile HttpServletRequest request;
-
-
-    public WsHandshakeRequest(HttpServletRequest request, Map<String,String> pathParams) {
-
-        this.request = request;
-
-        queryString = request.getQueryString();
-        userPrincipal = request.getUserPrincipal();
-        httpSession = request.getSession(false);
-        requestUri = buildRequestUri(request);
-
-        // ParameterMap
-        Map<String,String[]> originalParameters = request.getParameterMap();
-        Map<String,List<String>> newParameters =
-                new HashMap<>(originalParameters.size());
-        for (Entry<String,String[]> entry : originalParameters.entrySet()) {
-            newParameters.put(entry.getKey(),
-                    Collections.unmodifiableList(
-                            Arrays.asList(entry.getValue())));
-        }
-        for (Entry<String,String> entry : pathParams.entrySet()) {
-            newParameters.put(entry.getKey(), Collections.singletonList(entry.getValue()));
-        }
-        parameterMap = Collections.unmodifiableMap(newParameters);
-
-        // Headers
-        Map<String,List<String>> newHeaders = new CaseInsensitiveKeyMap<>();
-
-        Enumeration<String> headerNames = request.getHeaderNames();
-        while (headerNames.hasMoreElements()) {
-            String headerName = headerNames.nextElement();
-
-            newHeaders.put(headerName, Collections.unmodifiableList(
-                    Collections.list(request.getHeaders(headerName))));
-        }
-
-        headers = Collections.unmodifiableMap(newHeaders);
-    }
-
-    @Override
-    public URI getRequestURI() {
-        return requestUri;
-    }
-
-    @Override
-    public Map<String,List<String>> getParameterMap() {
-        return parameterMap;
-    }
-
-    @Override
-    public String getQueryString() {
-        return queryString;
-    }
-
-    @Override
-    public Principal getUserPrincipal() {
-        return userPrincipal;
-    }
-
-    @Override
-    public Map<String,List<String>> getHeaders() {
-        return headers;
-    }
-
-    @Override
-    public boolean isUserInRole(String role) {
-        if (request == null) {
-            throw new IllegalStateException();
-        }
-
-        return request.isUserInRole(role);
-    }
-
-    @Override
-    public Object getHttpSession() {
-        return httpSession;
-    }
-
-    /**
-     * Called when the HandshakeRequest is no longer required. Since an instance
-     * of this class retains a reference to the current HttpServletRequest that
-     * reference needs to be cleared as the HttpServletRequest may be reused.
-     *
-     * There is no reason for instances of this class to be accessed once the
-     * handshake has been completed.
-     */
-    void finished() {
-        request = null;
-    }
-
-
-    /*
-     * See RequestUtil.getRequestURL()
-     */
-    private static URI buildRequestUri(HttpServletRequest req) {
-
-        StringBuilder uri = new StringBuilder();
-        String scheme = req.getScheme();
-        int port = req.getServerPort();
-        if (port < 0) {
-            // Work around java.net.URL bug
-            port = 80;
-        }
-
-        if ("http".equals(scheme)) {
-            uri.append("ws");
-        } else if ("https".equals(scheme)) {
-            uri.append("wss");
-        } else if ("wss".equals(scheme) || "ws".equals(scheme)) {
-            uri.append(scheme);
-        } else {
-            // Should never happen
-            throw new IllegalArgumentException(
-                    sm.getString("wsHandshakeRequest.unknownScheme", scheme));
-        }
-
-        uri.append("://");
-        uri.append(req.getServerName());
-
-        if ((scheme.equals("http") && (port != 80))
-            || (scheme.equals("ws") && (port != 80))
-            || (scheme.equals("wss") && (port != 443))
-            || (scheme.equals("https") && (port != 443))) {
-            uri.append(':');
-            uri.append(port);
-        }
-
-        uri.append(req.getRequestURI());
-
-        if (req.getQueryString() != null) {
-            uri.append('?');
-            uri.append(req.getQueryString());
-        }
-
-        try {
-            return new URI(uri.toString());
-        } catch (URISyntaxException e) {
-            // Should never happen
-            throw new IllegalArgumentException(
-                    sm.getString("wsHandshakeRequest.invalidUri", uri.toString()), e);
-        }
-    }
-}