Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2013 Jeanfrancois Arcand
  *
  * Licensed 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.atmosphere.wasync.transport;
import static org.atmosphere.wasync.Event.MESSAGE;

Server Side Events org.atmosphere.wasync.Transport implementation

Author(s):
Jeanfrancois Arcand
public class SSETransport extends StreamTransport {
    public SSETransport(RequestBuilder requestBuilderOptions optionsRequest requestList<FunctionWrapperfunctions) {
        super(requestBuilderoptionsrequestfunctions);
    }

    
    @Override
    public Request.TRANSPORT name() {
        return ..;
    }

    
    @Override
    public STATE onHeadersReceived(HttpResponseHeaders headersthrows Exception {
        List<Stringct = headers.getHeaders().get("Content-Type");
        if ( ct == null || ct.size() == 0 || !ct.get(0).contains("text/event-stream")) {
             = ..;
            throw new TransportNotSupported(500, "Invalid Content-Type" + ct);
        }
        TransportsUtil.invokeFunction(Map.classheaders.getHeaders(), .name(), );
        // TODO: Parse charset
        return .;
    }

    
    @Override
    public STATE onBodyPartReceived(HttpResponseBodyPart bodyPartthrows Exception {
        String m = new String(bodyPart.getBodyPartBytes(), ).trim();
        if (!m.isEmpty()) {
            String[] data = m.split("data:");
            for (String ddata) {
                if (!d.isEmpty())
                    TransportsUtil.invokeFunction(d.getClass(), d.name(), );
            }
        }
        return .;
    }
New to GrepCode? Check out our FAQ X