diff --git a/README.md b/README.md
index e4e913a7..6637c367 100644
--- a/README.md
+++ b/README.md
@@ -518,6 +518,7 @@ Often an implementation of this interface will access an external web service. I
Whenever you implement a translator based on an online service, it is important to not use it in an abusive way. For example by:
* Establishing a large number of connections to it
* Performing web scraping instead of using an available API
+ * Making concurrent requests towards it
* *This is especially important if the service is not authenticated*
With that in mind, consider the following:
@@ -653,7 +654,7 @@ For more examples of implementations, you can simply take a look at this project
**NOTE**: If you implement a class based on the `HttpEndpoint` and you get an error where the web request is never completed, then it is likely due to the web server requiring Tls1.2. Unity-mono has issues with this spec and it will cause the request to lock up forever. The only solutions to this for now are:
* Disable SSL, if you can. There are many situations where it is simply not possible to do this because the web server will simply redirect back to the HTTPS endoint.
- * Use the `WwwEndpoint` instead. I highly advice against this though, unless it is an authenticated endpoint though.
+ * Use the `WwwEndpoint` instead. I highly advice against this though, unless it is an authenticated endpoint.
Another way to implement a translator is to implement the `ExtProtocolEndpoint` class. This can be used to delegate the actual translation logic to an external process. Currently there is no documentation on this, but you can take a look at the LEC implementation, which uses it.
diff --git a/src/Translators/Lec.ExtProtocol/Program.cs b/src/Translators/Lec.ExtProtocol/Program.cs
index c3ab0c6e..de3a2a72 100644
--- a/src/Translators/Lec.ExtProtocol/Program.cs
+++ b/src/Translators/Lec.ExtProtocol/Program.cs
@@ -10,6 +10,8 @@ class Program
{
static void Main( string[] args )
{
+ // Implementation of this is based off of texel-sensei's LEC implementation
+
try
{
if( args.Length == 0 )
diff --git a/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Http/HttpEndpoint.cs b/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Http/HttpEndpoint.cs
index b3f1f4ff..d2f0513b 100644
--- a/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Http/HttpEndpoint.cs
+++ b/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Http/HttpEndpoint.cs
@@ -24,7 +24,7 @@ public abstract class HttpEndpoint : ITranslateEndpoint
/// Gets the maximum concurrency for the endpoint. This specifies how many times "Translate"
/// can be called before it returns.
///
- public virtual int MaxConcurrency => 1;
+ public int MaxConcurrency => 1;
///
/// Gets the maximum number of translations that can be served per translation request.
diff --git a/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Www/WwwEndpoint.cs b/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Www/WwwEndpoint.cs
index b7b837b5..8e756132 100644
--- a/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Www/WwwEndpoint.cs
+++ b/src/XUnity.AutoTranslator.Plugin.Core/Endpoints/Www/WwwEndpoint.cs
@@ -7,6 +7,7 @@
using Harmony;
using UnityEngine;
using XUnity.AutoTranslator.Plugin.Core.Configuration;
+using XUnity.AutoTranslator.Plugin.Core.Constants;
using XUnity.AutoTranslator.Plugin.Core.Web;
namespace XUnity.AutoTranslator.Plugin.Core.Endpoints.Www
@@ -19,7 +20,7 @@ namespace XUnity.AutoTranslator.Plugin.Core.Endpoints.Www
///
public abstract class WwwEndpoint : ITranslateEndpoint
{
- private static readonly ConstructorInfo WwwConstructor = Constants.ClrTypes.WWW.GetConstructor( new[] { typeof( string ), typeof( byte[] ), typeof( Dictionary ) } );
+ private static readonly ConstructorInfo WwwConstructor = ClrTypes.WWW.GetConstructor( new[] { typeof( string ), typeof( byte[] ), typeof( Dictionary ) } );
///
/// Gets the id of the ITranslateEndpoint that is used as a configuration parameter.
@@ -112,11 +113,11 @@ public IEnumerator Translate( ITranslationContext context )
yield return www;
// extract error
- string error = (string)AccessTools.Property( Constants.ClrTypes.WWW, "error" ).GetValue( www, null );
+ string error = (string)AccessTools.Property( ClrTypes.WWW, "error" ).GetValue( www, null );
if( error != null ) wwwContext.Fail( "Error occurred while retrieving translation. " + error );
// extract text
- var text = (string)AccessTools.Property( Constants.ClrTypes.WWW, "text" ).GetValue( www, null );
+ var text = (string)AccessTools.Property( ClrTypes.WWW, "text" ).GetValue( www, null );
if( text == null ) wwwContext.Fail( "Error occurred while extracting text from response." );
wwwContext.ResponseData = text;