I modified the batch import controller to take care of streaming the user's JSON data into a temporary file.  Previously this was done in the StreamingImport class, but this wouldn't work properly in cases where the transaction needed to be retried.  By storing the temporary file in the Rack environment we can re-fire the request multiple times.