2926cb7682
It was called to many times and acted similar to a DOS attack.
28 lines
840 B
Kotlin
28 lines
840 B
Kotlin
package org.schabi.newpipe
|
|
|
|
import java.time.Instant
|
|
import java.time.ZonedDateTime
|
|
import java.time.format.DateTimeFormatter
|
|
|
|
class NewVersionManager {
|
|
|
|
fun isExpired(expiry: Long): Boolean {
|
|
return Instant.ofEpochSecond(expiry).isBefore(Instant.now())
|
|
}
|
|
|
|
/**
|
|
* Coerce expiry date time in between 6 hours and 72 hours from now
|
|
*
|
|
* @return Epoch second of expiry date time
|
|
*/
|
|
fun coerceExpiry(expiryString: String?): Long {
|
|
val now = ZonedDateTime.now()
|
|
return expiryString?.let {
|
|
|
|
var expiry = ZonedDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse(expiryString))
|
|
expiry = maxOf(expiry, now.plusHours(6))
|
|
expiry = minOf(expiry, now.plusHours(72))
|
|
expiry.toEpochSecond()
|
|
} ?: now.plusHours(6).toEpochSecond()
|
|
}
|
|
}
|