do not create objects if they are not going to be used. move this below the `if (!specsReq)`, otherwise you will be creating an empty object per req even when it is not a tunnel request, in which case this will have to be collected by GC.