You certainly don't want HTTP requests to be waiting for human interaction. In that case you'd better split it into separate requests. The first request could store the request in some sort of queue in the database and then it could send separate calls to poll if the data has been entered.