📄 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 + -