FYI this logic does not seem to work if you are trying to communicate with chromedriver2 server directly.  Chromedriver2 does not return a redirect and instead returns:

{
    "sessionId": "c01ab8beebc3463b94e66e4902b7df0f",
    "status": 0,
    "value": {
        "acceptSslCerts": true,
        "applicationCacheEnabled": false,
        "browserConnectionEnabled": false,
        "browserName": "chrome",
        "chrome": {
            "chromedriverVersion": "2.1"
        },
        "cssSelectorsEnabled": true,
        "databaseEnabled": true,
        "handlesAlerts": true,
        "javascriptEnabled": true,
        "locationContextEnabled": true,
        "nativeEvents": true,
        "platform": "Linux",
        "rotatable": false,
        "takesScreenshot": true,
        "version": "28.0.1500.95",
        "webStorageEnabled": true
    }
}

I think it is fine for this CL to go in without supporting chromedriver 2, but maybe you could add support in a near future CL?