Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Activity

      Hide
      balusc added a comment -

      1. 2. 3. are done. TODO: 4.

      Show
      balusc added a comment - 1. 2. 3. are done. TODO: 4.
      Hide
      Ed Burns added a comment - - edited

      Update Spec Section "Related Technologies" to include requirement on WebSocket 1.1 <https://www.jcp.org/en/jsr/detail?id=356>.

      5ff3e2b

      Show
      Ed Burns added a comment - - edited Update Spec Section "Related Technologies" to include requirement on WebSocket 1.1 < https://www.jcp.org/en/jsr/detail?id=356 >. 5ff3e2b
      Hide
      Ed Burns added a comment -

      Remove requirement for fake endpoint.

      Show
      Ed Burns added a comment - Remove requirement for fake endpoint.
      Hide
      balusc added a comment -

      Another requirement: JSONP 1.0 <https://www.jcp.org/en/jsr/detail?id=353>

      Show
      balusc added a comment - Another requirement: JSONP 1.0 < https://www.jcp.org/en/jsr/detail?id=353 >
      Hide
      balusc added a comment -

      ViewHandler#getWebsocketURL() and ExternalContext#encodeWebsocketURL() have been added

          /**
           * <p class="changed_added_2_3">If the value returned from this
           * method is used as the <code>file</code> argument to the
           * four-argument constructor for <code>java.net.URL</code> (assuming
           * appropriate values are used for the first three arguments), then
           * a client making a push handshake request to the <code>toExternalForm()</code> of
           * that <code>URL</code> will select the argument <code>channel</code>
           * for connecting the websocket push channel in the current view.
           * It must match the {@link PushContext#URI_PREFIX} of the endpoint.</p>
           *
           * @param context {@link FacesContext} for the current request.
           * @param channel The channel name of the websocket.
           * 
           * @throws NullPointerException if <code>context</code> or
           *  <code>channel</code> is <code>null</code>.
           * 
           * @return the websocket URL.
           * @see PushContext#URI_PREFIX
           */
          public abstract String getWebsocketURL(FacesContext context, String channel);
      
      
          /**
           * <p>
           * Return the websocket URL, after performing any rewriting needed to
           * ensure that it will correctly identify an addressable websocket in the
           * current application.
           * </p>
           * 
           * <p>
           * <em>Servlet:</em> This must ensure that the input URL is prefixed 
           * with the correct websocket scheme, domain and port and then
           * encoded by {@link #encodeResourceURL(String)}.
           * </p>
           *
           * @param url The input URL to be encoded.
           * 
           * @return the encoded websocket URL.
           * 
           * @throws NullPointerException if <code>url</code> is <code>null</code>.
           * 
           * @since 2.3
           */
          public abstract String encodeWebsocketURL(String url);
      
      

      <f:websocket> and jsf.push.init() have been modified to drop port attribute and argument.

      Show
      balusc added a comment - ViewHandler#getWebsocketURL() and ExternalContext#encodeWebsocketURL() have been added /** * <p class= "changed_added_2_3" >If the value returned from this * method is used as the <code>file</code> argument to the * four-argument constructor for <code>java.net.URL</code> (assuming * appropriate values are used for the first three arguments), then * a client making a push handshake request to the <code>toExternalForm()</code> of * that <code>URL</code> will select the argument <code>channel</code> * for connecting the websocket push channel in the current view. * It must match the {@link PushContext#URI_PREFIX} of the endpoint.</p> * * @param context {@link FacesContext} for the current request. * @param channel The channel name of the websocket. * * @ throws NullPointerException if <code>context</code> or * <code>channel</code> is <code> null </code>. * * @ return the websocket URL. * @see PushContext#URI_PREFIX */ public abstract String getWebsocketURL(FacesContext context, String channel); /** * <p> * Return the websocket URL, after performing any rewriting needed to * ensure that it will correctly identify an addressable websocket in the * current application. * </p> * * <p> * <em>Servlet:</em> This must ensure that the input URL is prefixed * with the correct websocket scheme, domain and port and then * encoded by {@link #encodeResourceURL( String )}. * </p> * * @param url The input URL to be encoded. * * @ return the encoded websocket URL. * * @ throws NullPointerException if <code>url</code> is <code> null </code>. * * @since 2.3 */ public abstract String encodeWebsocketURL( String url); <f:websocket> and jsf.push.init() have been modified to drop port attribute and argument.

        People

        • Assignee:
          Ed Burns
          Reporter:
          Ed Burns
        • Votes:
          3 Vote for this issue
          Watchers:
          4 Start watching this issue

          Dates

          • Created:
            Updated:
            Resolved:

            Time Tracking

            Estimated:
            Original Estimate - Not Specified
            Not Specified
            Remaining:
            Remaining Estimate - 0 minutes
            0m
            Logged:
            Time Spent - 1 hour, 8 minutes
            1h 8m