optimize code
add decorate request