title: Scrapy middleware to replace single request with multiple requests
body: <p>I want a middleware that will take a single Request and transform it into a generator of two different requests. As far as I can tell, the downloader middleware <code>process_request()</code> method can only return a single Request, not a generator of them. Is there a nice way to split an arbitrary request into multiple requests? </p>
  
  <p>It seems that spider middleware <code>process_start_requests</code> actually happens <em>after</em> the <code>start_requests</code> Requests are sent through the downloader. For example, if I set <code>start_urls = ['https://localhost/']</code> and </p>
  
  <pre><code>def process_start_requests(self, start_requests, spider):
     yield Request('https://stackoverflow.com')
  </code></pre>
  
  <p>it will fail with <code>ConnectionRefusedError</code>, having tried and failed the <code>localhost</code> request.</p>