123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- { Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- }
- {
- * util_uri.h: External Interface of util_uri.c
- }
- type
- schemes_t = record
- name: PChar;
- default_port: cushort;
- end;
- const
- DEFAULT_FTP_DATA_PORT = 20;
- DEFAULT_FTP_PORT = 21;
- DEFAULT_GOPHER_PORT = 70;
- DEFAULT_NNTP_PORT = 119;
- DEFAULT_WAIS_PORT = 210;
- DEFAULT_SNEWS_PORT = 563;
- DEFAULT_PROSPERO_PORT = 1525; { WARNING: conflict w/Oracle }
- DEFAULT_URI_SCHEME = 'http';
- { Flags passed to unparse_uri_components(): }
- UNP_OMITSITEPART = (1 shl 0); { suppress "scheme://user@site:port" }
- UNP_OMITUSER = (1 shl 1); { Just omit user }
- UNP_OMITPASSWORD = (1 shl 2); { Just omit password }
- UNP_OMITUSERINFO = (UNP_OMITUSER or UNP_OMITPASSWORD); { omit "user:password@" part }
- UNP_REVEALPASSWORD = (1 shl 3); { Show plain text password (default: show XXXXXXXX) }
- UNP_OMITPATHINFO = (1 shl 4); { Show "scheme://user@site:port" only }
- UNP_OMITQUERY = (1 shl 5); { Omit the "?queryarg" from the path }
- type
- hostent = record end;
- Phostent = ^hostent;
- uri_components = record
- scheme: PChar; { scheme ("http"/"ftp"/...) }
- hostinfo: PChar; { combined [user[:password]@]host[:port] }
- user: PChar; { user name, as in http://user:passwd@host:port/ }
- password: PChar; { password, as in http://user:passwd@host:port/ }
- hostname: PChar; { hostname from URI (or from Host: header) }
- port_str: PChar; { port string (integer representation is in "port") }
- path: PChar; { the request path (or "/" if only scheme://host was given) }
- query: PChar; { Everything after a '?' in the path, if present }
- fragment: PChar; { Trailing "#fragment" string, if present }
- hostent: Phostent;
- port: cushort; { The port number, numeric, valid only if port_str != NULL }
-
- // unsigned is_initialized:1;
- // unsigned dns_looked_up:1;
- // unsigned dns_resolved:1;
- end;
- { util_uri.c }
- {API_EXPORT(unsigned short) ap_default_port_for_scheme(const char *scheme_str);
- API_EXPORT(unsigned short) ap_default_port_for_request(const request_rec *r);
- API_EXPORT(struct hostent *) ap_pduphostent(pool *p, const struct hostent *hp);
- API_EXPORT(struct hostent *) ap_pgethostbyname(pool *p, const char *hostname);
- API_EXPORT(char *) ap_unparse_uri_components(pool *p, const uri_components *uptr,
- unsigned flags);
- API_EXPORT(int) ap_parse_uri_components(pool *p, const char *uri, uri_components *uptr);
- API_EXPORT(int) ap_parse_hostinfo_components(pool *p, const char *hostinfo, uri_components *uptr);}
- { called by the core in main() }
- //extern void ap_util_uri_init(void);
|