Merge remote-tracking branch 'origin' into master-MC1.12

This commit is contained in:
Adrian Siekierka 2024-09-21 07:17:38 +02:00
commit cd8851e095
4 changed files with 13 additions and 6 deletions

View File

@ -5,7 +5,7 @@ forge.version=14.23.5.2860
mod.name=OpenComputers
mod.group=li.cil.oc
mod.version=1.8.5-snapshot
mod.version=1.8.6-snapshot
ae2.version=rv6-stable-7
buildcraft.version=7.99.24.8

View File

@ -1,7 +1,8 @@
## Fixes/improvements
* [#3710] Fix localization regression introduced in 1.8.4.
* [#3731] Fix string.format() omission in OpenOS package.lua.
* [#3735] Fix server hangs on long-lasting HTTP requests.
## List of contributors
asie, Computerdores, ff66theone, Glease, Hawk777, repo-alt, RobertCochran, yut23
asie, REUSS-dev

View File

@ -1,7 +1,7 @@
-- called from /init.lua
local raw_loadfile = ...
_G._OSVERSION = "OpenOS 1.8.5"
_G._OSVERSION = "OpenOS 1.8.6"
-- luacheck: globals component computer unicode _OSVERSION
local component = component

View File

@ -528,12 +528,18 @@ object InternetCard {
out.close()
}
// Finish the connection. Call getInputStream a second time below to re-throw any exception.
// This avoids getResponseCode() waiting for the connection to end in the synchronized block.
try {
http.getInputStream
} catch {
case _: Exception =>
}
HTTPRequest.this.synchronized {
response = Some((http.getResponseCode, http.getResponseMessage, http.getHeaderFields))
}
// Calling getInputStream() can cause an exception to be thrown for unsuccessful HTTP responses,
// so call it only after the response code/message are set to allow retrieving them.
// TODO: This should allow accessing getErrorStream() for reading unsuccessful HTTP responses' output,
// but this would be a breaking change for existing OC code.
http.getInputStream