예제 #1
0
 private void processClose(String aConnectorId, HttpServletRequest aReq, HttpServletResponse aResp)
     throws IOException {
   try {
     final HTTPConnector lConnector = getConnector(aConnectorId, aReq, aResp);
     lConnector.stopConnector(CloseReason.CLIENT);
   } catch (Exception lEx) {
     sendMessage(500, lEx.getLocalizedMessage(), aResp);
   }
 }
예제 #2
0
  HTTPConnector getConnector(
      String aConnectorId,
      HttpServletRequest aReq,
      HttpServletResponse aResp,
      boolean aStartupConnection)
      throws Exception {
    HTTPConnector lConnector =
        (HTTPConnector) mConnectorsManager.getConnectorById(aConnectorId, aStartupConnection);
    lConnector.setRemoteHost(InetAddress.getByName(aReq.getRemoteHost()));
    lConnector.setSSL(aReq.getScheme().equals("https"));
    lConnector.setHttpResponse(aResp);

    return lConnector;
  }
예제 #3
0
  private void processOpen(
      String aSessionId, String aConnectorId, HttpServletRequest aReq, HttpServletResponse aResp)
      throws IOException {
    try {
      String lOrigin = aReq.getScheme() + "://" + aReq.getRemoteHost();
      if (!EngineUtils.isOriginValid(lOrigin, mEngine.getConfiguration().getDomains())) {
        sendMessage(401, "Origin not allowed!", aResp);
        return;
      }

      mConnectorsManager.add(aSessionId, aConnectorId);
      HTTPConnector lConnector = getConnector(aConnectorId, aReq, aResp);
      lConnector.setRemoteHost(InetAddress.getByName(aReq.getRemoteHost()));

      // starting connector on request thread intentionally
      lConnector.startConnector();
    } catch (Exception lEx) {
      sendMessage(500, lEx.getLocalizedMessage(), aResp);
    }
  }