inline suspend fun <T> request(imsProject: IMSProject, users: List<User>, requestMethod: HttpMethod, owner: List<GropiusUser>, body: T? = null, crossinline urlBuilder: URLBuilder.(URLBuilder) -> Unit): Pair<IMSUser, HttpResponse>

Process a request for a given set of users

Return

an optional containing the response or empty if the request failed

Parameters

imsProject

the project to work on

users

the list of users to process, sorted with best first

requestMethod

The HTTP method to use

body

the body to send

urlBuilder

the URL to send the request to