NtutISchoolPlusService constructor
dio permits deterministic protocol tests without contacting iSchool+.
Implementation
NtutISchoolPlusService({Dio? dio, Dio? availabilityDio}) {
_iSchoolPlusDio = (dio ?? createDio())
..options.baseUrl = 'https://istudy.ntut.edu.tw/learn/'
..options.connectTimeout = _requestTimeout
..options.sendTimeout = _requestTimeout
..options.receiveTimeout = _requestTimeout
..interceptors.insert(0, InvalidCookieFilter()) // Prepend cookie filter
..interceptors.add(
_SessionCheckInterceptor(
onSessionExpired: () => _selectedInternalId = null,
),
)
..transformer = PlainTextTransformer();
_availabilityDio = (availabilityDio ?? createDio(useCookies: false))
..options.connectTimeout = _availabilityTimeout
..options.sendTimeout = _availabilityTimeout
..options.receiveTimeout = _availabilityTimeout;
}