Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2013 selendroid committers.
   * 
   * 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 io.selendroid.server;
 
 
 import java.util.Map;
 
 
 public class SelendroidServlet extends BaseServlet {
   private static final Logger log = Logger.getLogger(SelendroidServlet.class.getName());
   protected Map<StringClass<? extends BaseRequestHandler>> redirectHandler =
       new HashMap<StringClass<? extends BaseRequestHandler>>();
 
     this. = driver;
     init();
   }
 
   protected void init() {
     .put("/wd/hub/session"CreateSessionHandler.class);
     .put("/wd/hub/sessions"ListSessionsHandler.class);
     .put("/wd/hub/session/:sessionId"GetCapabilities.class);
 
     .put("/inspector"InspectorUiHandler.class);
     .put("/inspector/session/:sessionId"InspectorUiHandler.class);
     .put("/wd/hub/session/:sessionId"DeleteSessionHandler.class);
     .put("/wd/hub/session/"RequestRedirectHandler.class);
   }
 
   @Override
   public void handleRequest(HttpRequest requestHttpResponse response,
       BaseRequestHandler foundHandler) {
     BaseRequestHandler handler = null;
     if ("/favicon.ico".equals(request.uri()) && foundHandler == null) {
       response.status(404);
       response.end();
       return;
     }
     if (foundHandler == null) {
       if (.isEmpty() == false) {
         // trying to find an redirect handler
         for (Map.Entry<StringClass<? extends BaseRequestHandler>> entry : 
             .entrySet()) {
           if (request.uri().startsWith(entry.getKey())) {
             String sessionId =
                 getParameter("/wd/hub/session/:sessionId"request.uri(), ":sessionId"false);
             handler = instantiateHandler(entryrequest);
             if (.isValidSession(sessionId)) {
               request.data().put(sessionId);
             }
           }
         }
       }
       if (handler == null) {
         replyWithServerError(response);
         return;
       }
     } else {
       handler = foundHandler;
     }
 
     String sessionId = getParameter(handler.getMappedUri(), request.uri(), ":sessionId");
     if (sessionId != null) {
       request.data().put(sessionId);
     }
     request.data().put();
 
     Response result;
     try {
       result = handler.handle();
     } catch (Exception e) {
       .severe("Error occured while handlinf request: " + e.fillInStackTrace());
       replyWithServerError(response);
       return;
    }
    if (result instanceof SelendroidResponse) {
      handleResponse(requestresponse, (SelendroidResponseresult);
    } else {
      UiResponse uiResponse = (UiResponseresult;
      response.header("Content-Type""text/html");
      response.charset(Charset.forName("UTF-8"));
      response.status(200);
      if (uiResponse != null) {
        if (uiResponse.getObject() instanceof byte[]) {
          byte[] data = (byte[]) uiResponse.getObject();
          response.header("Content-Length"data.length).content(ByteBuffer.wrap(data));
        } else {
          String resultString = uiResponse.render();
          response.content(resultString);
        }
      }
      response.end();
    }
  }
New to GrepCode? Check out our FAQ X