Yup, process_request is already too long IMHO.