Note that we have have two endpoints: mt and translate. Or actually three is we count the central location as well (https://wikimedia.org/api/rest_v1/transform/html/from/en/to/ca/Apertium), but it does the same thing as the mt endpoint). The translate endpoint has a different issue documented in T173038: /v1/translate/{from}/{to}{/provider} endpoint fails while deploying cxserver.
Neither the mt or the central equivalent currently works. It always returns HTTP 200 with empty (just <div></div>) as a result.
These don't work (en -> ca using Apertium):
This works:
- https://ca.wikipedia.org/api/rest_v1/#!/Transforms/doMT
- https://cxserver.wikimedia.org/v1#!/Machine_translation/post_v1_mt_from_to_provider
Why is it returning HTTP 200 code even though a some kind of error happens?
My best guess currently is that restbase is not sending the body as application/x-www-form-urlencoded but instead as multipart/form-data or something else. I was not able to figure out what the HyperSwitch library uses internally and how it handles post requests.
Where is get_from_cx defined? It's used in https://github.com/wikimedia/restbase/blob/master/v1/transform-global.yaml#L60 Also, why is https://github.com/wikimedia/restbase/blob/master/v1/transform-lang.yaml#L54 using operationId: doMT instead? Shouldn't those two be the same?