24def request(_query, params):
25 request_url = random.choice(base_url) if isinstance(base_url, list) else base_url
26
27 if request_url.startswith("https://libretranslate.com") and not api_key:
28 return None
29 params['url'] = f"{request_url}/translate"
30
31 args = {
32 'q': params['query'],
33 'source': params['from_lang'][1],
34 'target': params['to_lang'][1],
35 'alternatives': 3,
36 }
37 if api_key:
38 args['api_key'] = api_key
39
40 params['data'] = json.dumps(args)
41 params['method'] = 'POST'
42 params['headers'] = {'Content-Type': 'application/json'}
43 params['req_url'] = request_url
44
45 return params
46
47