Best HTTP

  Asset, Unity3D

 

Creator : Tivadar Gy�rgy Nagy

Version : – – Version: 1.12.5 – – Sep 4, 2019 – –

Store Asset

Description :

1.12.5 (2019.09.03)General-[Bugfix] Downloading a file with >4GB size with a Content-Length header the plugin tried to read 0 bytes resulting in a failed download.-[Bugfix] HTTPCacheService.BeginMaintainence didn’t removed chache entities.-[Bugfix] When cache entity’s GetBodyStream throws an exception the plugin will delete the cache entry and retry the request.SignalR Core-[Improvement] Improved compatibility with SignalR Core 31.12.4 (2019.07.30)Socket.IO-[Bugfix] [Polling Transport] Fixed a bug where the received length is different from the byte-length of the packet and the plugin read and tried to parse the truncated packet.SignalR Core-[Bugfix] All transport error during closing will be ignored now.Websocket-[Bugfix] Fixed a NullReferenceException that occured when the send thread closed and other parts tried to use a disposed resource.1.12.3 (2019.07.17)General-[Improvement] HTTPCacheService will not try to cache entries when no caching headers are present-[Bugfix] Fixed a bug where the HTTPCacheService would try to use non-supported recursive locking-[Bugfix] WriteOnlyBufferedStream didn’t call Flush on the underlying streamWebsocket-[Bugfix] Didn’t use the created buffered stream1.12.2 (2019.06.12)General-[Improvement] When the same content is already stored on the disk, new responses will no write it again saving cpu and disk activity-[Bugfix] Fixed compile errors for UWP-[Bugfix] Fixed a possible NullReferenceException when the server sends back no headers at all-[Bugfix] Read and store responses are in a write lock to avoid an error when two or more requests to the same uri are executed.-[Bugfix] When CookieJar.Get called before any other CookieJar.Load it throwd an error1.12.1 (2019.05.29)General-[Bugfix] Callbacks didn’t called when abort requested on a HTTPRequest-[Bugfix] ReaderWriterLockSlim of the HTTPRequest is nulled out while it later tried to use it1.12.0 (2019.05.28)General-[Improvement] Part of a larger code rewrite/overhaul removed a lot of locks and added lock-free collections and/or using ReaderWriterLockSlim. These changes affect all parts of the plugin from cookies to the signalr core protocol.-[Bugfix] Fixed a bug in the protocol upgrade callback to do not overwrite the connection’s previously set state-[New Feature] HTTPRequest now supports the async-await pattern when CSHARP_7_OR_LATER is declared by Unity3d-[Improvement] HTTPManager.TryToMinimizeTCPLatency’s default value became true-[Improvement] HTTPManager.MaxConnectionPerServer’s default value became 6SignalRCore-[Bugfix] JSonProtocol now handles enums properly-[Improvement] JSonProtocol now can handle nullable typesServer-Sent Events-[New Feature] Example added1.11.2 (2019.04.15)General-[New feature] HTTPManager.UserAgent field added.-[Bugfix] Removed doubled quotes from multipart/form-data boundary-[Improvement] FileConnection now uses BufferPoolMemoryStream too-[Improvement] Increased default HTTPManager.MaxConnectionPerServer from 4 to 6WebSocket-[New Feature] New LastMessageReceived property to access when the last message is received from the server.-[Bugfix] Removed custom host header creation as the HTTPRequest already sets it properly1.11.1 (2019.01.31)General-[Bugfix] Fixed compile errors when cookies and/or SignalR protocols are disabledSignalR-[New Feature] Initial Client -> Server streaming support added1.11.0 (2019.01.21)General-[New Feature] Implemented new buffer pool mechanism to reuse internal byte arrays. This is quite a large change that touches all part of the plugin, but reduces the plugin’s memory garbage production very very much! (Thanks to Teemu @ Delta Cygni Labs for the base idea and code donation!)-[New Feature] All samples are available in a public git repo too (https://github.com/Benedicht/BestHTTP_Examples)-[New Feature] Added a new IIOService interface and the plugin now uses the file system through this abstraction. New IIOService implementations can be added and set to the HTTPManager.IOService field.-[New Feature] Initial SOCKS proxy with basic authentication support added.-[Improvement] All samples now placed inside a namespace-[Improvement] Removed Unity’s WWWForm option from AddField and FormUsage.-[Improvement] Updated BouncyCastle to the latest version.-[Improvement] BouncyCastle namespaces are moved under the BestHTTP.SecureProtocol namespace, custom class (like ICertificateVerifyer) are remaining under the Org.BouncyCastle.Crypto.Tls namespace. I hope this will help in cases where other plugins are bundling BC too.-[BugFix] The request will fail if the proxy-authentication is failed-[Bugfix] Caching headers set multiple times on redirectionSocket.IO-[Bugfix] The plugin will not try to emit an error when the error callback throws an exception.SignalRCore-[New Feature] Added new samples-[Improvement] New OnRedirect event handler-[Bugfix] Implemented proper redirect and authentication handling.-[Bugfix] Now it can handle relative redirect urls.1.10.10 (2018.11.04)General-[Improvement] New demo page added: https://besthttpdemosite.azurewebsites.net/-[Bugfix] One of HTTProxy’s constructor didn’t use a parameter to set the correct value-[Improvement] Improved connection handling and code quality for the UWP connection layerWebGL-[New Feature] Partial cookie support added (cookies are managed by the browser, but the plugin is able to read and write them)-[New Feature] Read and write cookie support added-[New Feature] HTTPRequest has a new WithCredentials property-[Improvement] More requests will be ‘simple’ to do not require a preflight requestSignalRCore-[New Feature] Added client-sent ping messages-[Improvement] New example addedWebSockets-[Improvement] Increased the limit of the per-message deflate extension’s minDataLengthToCompress parameter.-[Improvement] [WebGL] Client-side generated status code of 1006 is treated as an error now to match non-webgl behavior.1.10.9 (2018.07.05)General-[Bugfix] Fixed a compile error under WebGL-[Improvement] HTTPRequest’s GetEntityBody became public api-[Improvement] Added GetFormFields to HTTPRequest1.10.8 (2018.07.02)General-[Improvement] Greatly reduced the TCP packets that sent out for a HTTP requestWebSocket-[Improvement] Frame downloading now isn’t blocked while user code is executing on current completed framesSocketIO-[Bugfix] Implemented a new ToInt function instead of char.GetNumericValue as this later one throws an exception under WebGL using the new 4.x runtimeSignalR Core-[Improvement] Fixed compile errors for WSA-[Improvement] Added HubOptions to be able to set more options-[Improvement] Now it’s possible to skip the negotiation process and connect straigth with the (only) WebSocket protocol-[Bugfix] Authentication provider’s PrepareRequest wasn’t called on the negotiation request.1.10.7 (2018.06.06)General-[Improvement] Logger will log out time infromation too-[Improvement] HTTPRequest will send a Content-Length header with zero value when there’s no data to sendWebSocket-[Bugfix] Fixed a case where the connection reported closed unintentionallySignalR Core-[Improvement] Added PrepareUri function to the IAuthenticationProvider interface-[Improvement] Added negotiation request. Negotiation result now stored in the NegotiationResult property.-[Improvement] Added support for ‘Close’ server messages-[Improvement] More documentation and code comments-[Improvement] Code cleanup1.10.6 (2018.05.20)General-[Bugfix] Fixed a case where aborting a request throw and exceptionSocketIO-[Bugfix] Will not send a ping packet while waiting for a pongWebSocket-[Bugfix] OnError OnErrorDesc events not called when the websocket’s State > ConnectingSignalRCore-[Improvement] New BESTHTTP_DISABLE_SIGNALR_CORE symbol to disable SignalR Core-[Bugfix] The SignalR Core implementation has no dependency on SignalR classes now1.10.5 (2018.04.17)SignalR Core-Removed compile warnings1.10.4 (2018.04.15)General-[Improvement] csproj files added to the package to genereate dlls-[Improvement] Improved compatibilty with other packages that are have theirs own Utility class in the root namespace.-[Improvement] Improved compatibility with the Experimental (.NET 4.6) runtime-[Improvement] Using the HTTPRequest’s CustomTLSServerNameList property now it’s possible to add custom SNIs-[Bugfix] Decompressor used during streaming will buffer up data if necessary to avoid a GZip exception.-[Bugfix] Removed unnecessary logging in the HTTPUpdateDelegator-[Bugfix] TLS SNIs will not be sent if the host is an IPv4 or IPv6 address-[Bugfix] Digest authentication failed with the proxyWebSocket-[Improvement] Now it’s possible to close the websocket before it connects-[Improvement] New State property to access the websocket’s state-[Bugfix] [WebGL] HTTPManager.Setup() isn’t called when only the WebSocket protocol is usedSocketIO-[Bugfix] proper pingTimeout implementation (thanks @carsanlop for the code!)SignalR-[Bugfix] It will not try to reconnect after leaving Unity’s play mode.SignalRCore-[New Feature] New SignalR Core implementation for SignalRCore 1.0.0-alpha21.10.3 (2017.11.11)General-[Improvement] Added OPTIONS verb-[Improvement] Better compatibility with Unity 2017.2-[Bugfix] Boundary generated for multipart/form-data will be a truely unique value that shouldn’t be found in the payloadWebSocket-[New Feature] Added new CloseAfterNoMesssage TimeSpan property to the WebSocket class. When StartPingThread is true, the plugin will check for messages and will close the connection and emit an OnError/OnErrorDesc event after the specified time. It’s not available on WebGL platform!-[New Feature] Added Latency property. When StartPingThread is true, it will calculate the latency from the Ping-Pong message round-trip times. It’s not available on WebGL platform!SignalR-[Bugfix] Group token not sent with polling requests