- 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
ToDictionary(details, arg);
}
template<typename Arg, typename... Args>
void FillDetailsObject(base::DictionaryValue* details, Arg arg, Args... args) {
  ToDictionary(details, arg);
  FillDetailsObject(details, args...);
}
void ReadFromResponseObject(const base::DictionaryValue& response,
                            GURL* new_location) {
  std::string url;
  if (response.GetString("redirectURL", &url))
    *new_location = GURL(url);
}
void ReadFromResponseObject(const base::DictionaryValue& response,
                            net::HttpRequestHeaders* headers) {
  const base::DictionaryValue* dict;
  if (response.GetDictionary("requestHeaders", &dict)) {
    headers->Clear();
    for (base::DictionaryValue::Iterator it(*dict);
         !it.IsAtEnd();
         it.Advance()) {
      std::string value;
      if (it.value().GetAsString(&value))
        headers->SetHeader(it.key(), value);
    }
  }
}
void ReadFromResponseObject(const base::DictionaryValue& response,