mcorest_api_handler_fn
有关概述,请参阅网络服务页面。
网络服务请求处理例程。
当核心库收到针对已注册路径的网络服务的 HTTP 请求时,网络服务库中的处理程序例程将被调用。该处理程序将:
可选地解析通过处理程序的
path_suffix参数传递的 URL 路径的子元素和查询参数。使用
mcorest_api_status_*()调用之一发送状态码。 •如果状态码为 200/OK,则处理程序可选地使用
mcorest_api_json_*()调用发送 JSON 响应。返回 MCO_S_OK 代码。
如果处理程序在某个点失败,应返回
MCO_E_REST_*错误代码之一。如果 HTTP 请求尚未得到响应(即尚未发送任何数据),网络服务器将向调用方返回 HTTP 状态码 500,以及 JSON 格式的错误详细信息。网络服务可以使用mcorest_api_failure()函数向客户端提供更多信息。如果处理程序例程向客户端发送数据(例如 HTTP 状态和标头)然后返回错误代码,Web 服务器将中止连接。任何缓冲的数据都将被丢弃。或者,处理程序可以选择向客户端返回相应的 HTTP 状态,并自行写入任何相关的信息。之后应返回 MCO_S_OK。
typedef MCO_RET (* mcorest_api_handler_fn)(
void *ctx,
mcoapi_request_h request,
const char *path_suffix
);参数
ctx
void
由 mcorest_api_register_service() 调用所指定的上下文指针。
request
mcoapi_request_h
path_suffix
const char
路径中剩余的任何字符:子路径元素、查询参数等。
返回
MCO_S_OK
成功。
MCO_E_REST_ *
任何一种网络服务错误码。
文件
- 头文件:
mcorest.h - 源文件:
mcorest.c - 库:
libmcorest.a
