add timeout support to WPAPI client