📄 websurlhandlerdefine.htm
字号:
<html><head><!- Copyright (c) Go Ahead Software Inc., 1995-2000. All Rights Reserved. -><title>websUrlHandlerDefine -- GoAhead WebServer API</title><link rel="stylesheet" href="../../../style/doc.css" type="text/css"></head><body><table width="550"> <tr><td><TABLE border=0 width=100% cellspacing=0 cellpadding=0 CLASS="apiTitle"> <TR> <td class="titleLeft" align=left width="33%"><b>websUrlHandlerDefine</b></TD><td class="titleCenter" align=center width="33%"><b> GoAhead WebServer API</b></TD><td class="titleRight" align=right width="33%"><B> GoAhead EMF</B></TD></TR> </TABLE><HR> <h2>Synopsis</h2><p> Define a new URL handler.</p><h2>Prototype</h2><pre> #include "webs.h" int <b>websUrlHandlerDefine</b>(char_t *path, int (*fn)(webs_t wp, char_t *url, char_t *path, char_t *query), int flags); </pre><h2>Parameters</h2><TABLE WIDTH=100% BORDER="0" CELLPADDING="0" CELLSPACING="0"> <TR> <TD VALIGN="TOP" WIDTH="6%">wp <TD WIDTH="94%">Web server connection handle. <TR> <TD VALIGN="TOP" WIDTH="6%">url <TD WIDTH="94%">Request URL. <TR> <TD VALIGN="TOP" WIDTH="6%">path <TD WIDTH="94%">Request path portion of the URL. <TR> <TD VALIGN="TOP" WIDTH="6%">query <TD WIDTH="94%">Query string portion of the URL.</TD></TR> <TR> <TD VALIGN="TOP" WIDTH="6%">flags <TD WIDTH="94%">Specify a sorting value to modify the calling order of the handler.</TD></TR> </TABLE><h2>Description</h2><P> The websUrlHandlerDefine procedure adds a new URL handler by associating a URL path segment with a processing function. URL handlers are called in sorted order beginning with the handlers with longer path segments. For example, the handler for "/myUrl" would be called before the handler for "/my".</P><P> The flags parameter can specify two special sorting values:</P><ul><li>WEBS_HANDLER_FIRST<li>WEBS_HANDLER_LAST</li></ul><P> If specified, the flags modify the calling order of the handler. Multiple handlers may specify these flags, in which case the order of all the handlers specifying WEBS_HANDLER_FIRST is undefined. This is the same for multiple handlers using WEBS_HANDLER_LAST.</P><p>A URL handler is a C procedure according to the following prototype:</p><pre> int myHandler(webs_t wp, char_t *url, char_t *path, char_t *query); </pre><P>The <i>url</i> parameter contains the entire URL. The <i> path</i> parameter holds the URL portion after the hostname and port number. The <i>query</i> parameter holds any optional query.</P><p>The URL handler must return 1 if it elects to process the URL. Otherwise, it should return 0 to indicate that a later URL handler should process the URL. A handler may modify the URL request using any of the websSetRequest APIs. In this case, if it returns 0, a subsequent URL handler will process the modified request.</p><h2>Return Value</h2><p> Returns 0 if successful, otherwise it returns -1.</p><h2>Example</h2><pre> int myHandler(webs_t wp, char_t *url, char_t *path, char_t *query) { /* * Processing here */ return 1; } websUrlHandlerDefine("", myHandler, WEBS_HANDLER_FIRST); websUrlHandlerDefine ("/mypath", myOtherHandler, 0); </pre><h2>Stability Classification</h2><p>Stable.</p><h2>See Also</h2><p> <A href="websSecurityHandler.htm">websSecurityHandler</A> </p></td></tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -