-record(upgrade, { with_handler :: fun((mist@websocket:message(), glisten@tcp:socket()) -> {ok, nil} | {error, nil}) }).