title: SignalR connection negotiation fails
body: <p>I'm trying to use SignalR in an Angular application. I'm using the Typescript client <code>@aspnet/signalr</code>.</p>
  
  <p>What I get in the console is </p>
  
  <blockquote>
    <p>Information: Normalizing '/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D' to '<a href="http://server:port/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D" rel="nofollow noreferrer">http://server:port/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D</a>'.</p>
    
    <p>Debug: Starting HubConnection. </p>
    
    <p>Debug: Starting connection with transfer format 'Text'. </p>
    
    <p>Debug: Sending negotiation request:
    <a href="http://server:port/api/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22kanbanhub%22%7D%5D" rel="nofollow noreferrer">http://server:port/api/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22kanbanhub%22%7D%5D</a></p>
    
    <p>Error: Failed to start the connection: TypeError: Cannot read property 'length' of undefined</p>
  </blockquote>
  
  <p>The error seems to come from the line <code>if (!(_i &lt; transports_1.length)) return [3 /*break*/, 9];</code> in <code>HttpConnection</code>. It could be related to the fact that the negotiation response does not contain the <code>availableTransports</code> array.</p>
  
  <pre><code>{
      "Url":"/api/signalr",
      "ConnectionToken":"XXX",
      "ConnectionId":"XXX",
      "KeepAliveTimeout":20.0,
      "DisconnectTimeout":30.0,
      "ConnectionTimeout":110.0,
      "TryWebSockets":false,
      "ProtocolVersion":"1.2",
      "TransportConnectTimeout":5.0,
      "LongPollDelay":0.0
  }
  </code></pre>
  
  <p>Any idea why?</p>