rename secret to request_id
add specific exception for request_id mismatch
replace remaining manual exceptions
add timeout_milliseconds parameter (unsupported)
remove commented code
add support for millisecond timeouts