- Electron version:
  1.3.3
- Operating system:
  All

wsj.com uses a header called `Dylan2010.EntitlementToken` which is lost if you register an `onBeforeSenderHeaders` callback. This happens because `DictionaryValue::SetString` does automatic path expansion unless you explicitly call `DictionaryValue::SetStringWithoutPathExpansion'. Pr to follow 

atom/browser/net/atom_network_delegate.cc
net::URLRequest* request,
    const net::CompletionCallback& callback,
    GURL* new_url) {
  if (!ContainsKey(response_listeners_, kOnBeforeRequest))
    return brightray::NetworkDelegate::OnBeforeURLRequest(
        request, callback, new_url);
  return HandleResponseEvent(kOnBeforeRequest, request, callback, new_url);
}
int AtomNetworkDelegate::OnBeforeSendHeaders(
    net::URLRequest* request,
    const net::CompletionCallback& callback,
    net::HttpRequestHeaders* headers) {
  std::string client_id;
  {
    base::AutoLock auto_lock(lock_);
    client_id = client_id_;
  }
  if (!client_id.empty())
    headers->SetHeader(
        DevToolsNetworkTransaction::kDevToolsEmulateNetworkConditionsClientId,
        client_id);
  if (!ContainsKey(response_listeners_, kOnBeforeSendHeaders))
    return brightray::NetworkDelegate::OnBeforeSendHeaders(
        request, callback, headers);
  return HandleResponseEvent(
      kOnBeforeSendHeaders, request, callback, headers, *headers);
}
void AtomNetworkDelegate::OnSendHeaders(