duckduckgo spice IA secondary API 调用如何获取它们的参数?

how do duckduckgo spice IA secondary API calls get their parameters?

我一直在翻阅香料即时答案source code. Yes, I know it is in maintenance mode,但我仍然很好奇。

documentation 非常清楚地表明主要 spice to API 从 handle 函数。

我的问题:spice alt_to 中是否应该包含辅助 API 调用,例如,在 movie spice IA 中, 的数值参数在哪里 API 呼唤从何而来?

请注意,例如,movie_imagecast_image 中的 </code> 次要 API 调用 <code>spice alt_to 在前面的 link.我在问哪个正则表达式捕获 returns 那些 .

的实例

我相信我现在明白这是怎么回事了。信息流对我来说仍然有点模糊,但至少我看到了所有必要的信息是如何存在的。

我将使用 cryptocurrency instant answer as an example. The alt_to element in the perl package file at that link has a key named cryptonator. The corresponding .js file 构造一个匹配端点:

var endpoint = "/js/spice/cryptonator/" + from + "/" + to;

注意 "remainder" 过去 /js/spice/cryptonator 的一般形状:from/to,其中 fromto 将是两个字符串。

perl package 中,散列 alt_to->{cryptonator} 有一个键 from,我认为它接收余数 from/to。对应于该键的值是一个正则表达式,用于将该字符串分成两个组成部分:

from => '([^/]+)/([^/]*)'

应用于 from/to,正则表达式将 return =from=to这些,那么,就是进入

</code>和<code>
to => 'https://api.cryptonator.com/api/full/-'

alt_to 中。


简而言之:

alt_to->{blah}to 字段通过 from 正则表达式对中构造的相应端点名称的 /js/spice/blah/ 后的余数进行运算来接收其数值参数相关的 .js 文件。