title: Request working properly with postman but fails with protocol error when requesting with iOS
body: <p>I am trying to run this request and the reason I am doing is that from here is that I want to test push notifications (<em>I mean a lot of them</em>) with different strings in a loop.</p>
  
  <p>When I try to do it with <strong>Postman</strong> it works perfectly fine I mean I had tried sending 300 requests and they worked fine but the request is giving an error when I am doing it with <strong>URLSession</strong>.</p>
  
  <p>The error which I get on console is-
  <code>
  error is there in data task
   The operation couldn’t be completed. Protocol error
  2018-01-10 08:48:47.735403+0530 Universal Time Table[18533:1210462] TIC Read Status [4:0x0]: 1:57
  2018-01-10 08:48:47.735555+0530 Universal Time Table[18533:1210462] TIC Read Status [4:0x0]: 1:57
  </code></p>
  
  <p>My code for sending requests is - </p>
  
  <pre><code>    func testNotifications(times: Int, completionHandler: @escaping (String) -&gt; Void) {
      print("test notifications called")
      let url = "https://fcm.googleapis.com/fcm/send"
      var urlRequest = URLRequest(url: URL(string: url)!)
      urlRequest.httpMethod = "POST"
      let session = URLSession(configuration: .ephemeral)
      urlRequest.setValue("Content-Type", forHTTPHeaderField: "application/json")
      urlRequest.setValue("Authorization", forHTTPHeaderField: "Key=my_API_KEY")
  
  
      do{
          let jsonData = try JSONSerialization.data(withJSONObject: notificationJson, options: .prettyPrinted)
          urlRequest.httpBody = jsonData
  
      } catch let err as Error{
          print("error is", err.localizedDescription)
      }
  
      session.dataTask(with: urlRequest) { (data, response, error) in
              if error != nil{
                  print("error is there in data task\n", error?.localizedDescription ?? "Error Hard Coded String")
                  return
              }
              print("response is", response)
              print("Shoud be a success")
              DispatchQueue.global(qos: .userInitiated).async {
                  DispatchQueue.main.async {
                      completionHandler("responseString")
                      print("success")
                  }
              }
              }.resume()
  }
  
  let notificationJson = [
      "notification":[
          "body" : "This week's edition is now available.",
          "title" : "NewsMagazine.com",
      ],
      "data" : [
          "volume" : "3.21.15",
          "contents" : "http://www.news-magazine.com/world-week/21659772"
      ],
      "android":[
          "priority":"normal"
      ],
      "apns":[
          "headers":[
              "apns-priority":"5",
              "apns-collapse-id": "ON"
          ]
      ],
      "webpush": [
          "headers": [
              "Urgency": "high"
          ]
      ]
      ,
      "to" : "device_token"
      ] as [String : Any]
  </code></pre>