应用程序挂钩

在JavaScript中,app hook基于 JSGI 它为JavaScript web应用程序开发提供了一个通用接口。应用程序脚本必须导出名为 app 接受 request 对象并返回 response 对象。

export.app = function(request) {
  // handle the request and return a response
}

必须从名为 main.js 在一个命名的 应用程序目录 . 应用程序目录位于 scripts/apps 数据目录根目录中的目录:

GEOSERVER_DATA_DIR/
  ...
  scripts/
    apps/
      app1/
        main.js
        ...
      app2/
        main.js
        ...

应用程序可以通过web从路径访问 /script/apps/{{app}} 在哪里? {{app}} 是应用程序的名称。所有以该路径开头的请求都被调度到 app 中的函数 main.js .

Hello World示例

在本例中,构建了一个简单的“Hello World”应用程序。第一步是为名为 hello ::

cd $GEOSERVER_DATA_DIR/scripts/apps
mkdir hello

下一步是创建 main.js 文件::

cd hello
touch main.js

在应用程序功能中,将发生以下情况:

  1. 报告HTTP状态代码200

  2. 声明响应的内容类型,在本例中为“text/plain”

  3. 生成响应正文,在本例中是字符串“hello world”

这是通过以下代码实现的:

export.app = function(request) {
  return {
    status: 200, // step 1
    headers: {"Content-Type": "text/plain"}, // step 2
    body: ["Hello World"] // step 3
  };
};

上面显示的响应主体是一个数组。通常,这可以是具有 forEach 方法。这样,应用程序就可以返回分块内容,而不是一次返回整个正文内容。

Previous: JavaScript
Next: WPS挂钩