function getRequestWillBeSentEvent(networkRecord, index, normalizedTiming) {
  let initiator = {type: 'other'};
  if (networkRecord.initiator) {
    initiator = {...networkRecord.initiator};
  }

  return {
    method: 'Network.requestWillBeSent',
    params: {
      requestId: getBaseRequestId(networkRecord) || `${idBase}.${index}`,
      documentURL: networkRecord.documentURL || exampleUrl,
      request: {
        url: networkRecord.url || exampleUrl,
        method: networkRecord.requestMethod || 'GET',
        headers: {},
        initialPriority: networkRecord.priority || 'Low',
        isLinkPreload: networkRecord.isLinkPreload,
      },
      timestamp: normalizedTiming.rendererStartTime / 1000,
      wallTime: 0,
      initiator,
      type: networkRecord.resourceType || 'Document',
      frameId: networkRecord.frameId,
      redirectResponse: networkRecord.redirectResponse,
    },
    targetType: 'sessionTargetType' in networkRecord ? networkRecord.sessionTargetType : 'page',
    sessionId: networkRecord.sessionId,
  };
}
@param {Partial<NetworkRequest>} networkRecord
@param {number} index
@param {NormalizedRequestTime} normalizedTiming
@return {LH.Protocol.RawEventMessage}