Add request defensive protection

Closes #641 #361