describe

suspend fun describe(client: HttpClient, locationUrl: String): IgdControl?

GET the device-description XML from a LOCATION URL discovered via SSDP and parse out the WAN(IP|PPP)Connection control endpoint. Returns a fully-resolved IgdControl (absolute control URL + service type) or null if the device has no usable IGD service. Ports the GET + on_upnp_xml step of upnp.cpp.