Sun ONE logo     Index      Next     
Sun ONE Application Server 7 Developer's Guide to NSAPI
816-7154-10
Updated: October 04, 2002



Contents

About This Guide

NSAPI Plugins and J2EE Web Applications
Who Should Use This Guide
Using the Documentation
How This Guide Is Organized
Documentation Conventions
General Conventions
Conventions Referring to Directories
Product Support

Syntax and Use of obj.conf

How the Server Handles HTTP Requests
HTTP Basics
Steps in the HTTP Request Handling Process
Server Instructions in obj.conf
Summary of the Directives
The Object Tag
Objects that Use the name Attribute
Object that Use the ppath Attribute
Variables Defined in server.xml
Flow of Control in obj.conf
AuthTrans
NameTrans
PathCheck
ObjectType
Service
AddLog
Error
Syntax Rules for Editing obj.conf
Order of Directives
Parameters
Case Sensitivity
Separators
Quotes
Spaces
Line Continuation
Path Names
Comments
About obj.conf Directive Examples

Predefined SAFs and the Request Handling Process

The bucket Parameter
AuthTrans Stage
auth-passthrough
basic-auth
basic-ncsa
get-sslid
qos-handler
NameTrans Stage
assign-name
document-root
home-page
ntrans-j2ee
pfx2dir
redirect
strip-params
unix-home
PathCheck Stage
check-acl
deny-existence
find-index
find-links
find-pathinfo
get-client-cert
load-config
nt-uri-clean
ntcgicheck
require-auth
set-virtual-index
ssl-check
ssl-logout
unix-uri-clean
ObjectType Stage
check-passthrough
force-type
set-default-type
shtml-hacktype
type-by-exp
type-by-extension
Service Stage
add-footer
add-header
append-trailer
imagemap
index-common
index-simple
key-toosmall
list-dir
make-dir
query-handler
remove-dir
remove-file
rename-file
send-cgi
send-file
send-range
send-shellcgi
send-wincgi
service-dump
service-j2ee
service-passthrough
shtml_send
upload-file
AddLog Stage
common-log
flex-log
record-useragent
Error Stage
error-j2ee
send-error
qos-error

SAFs in the init.conf File

cindex-init
define-perf-bucket
dns-cache-init
flex-init
flex-rotate-init
init-cgi
init-clf
init-j2ee
init-passthrough
init-uhome
load-modules
perf-init
pool-init
register-http-method
stats-init
thread-pool-init

Creating Custom SAFs

Future Compatibility Issues
The SAF Interface
SAF Parameters
pb (parameter block)
sn (session)
rq (request)
Result Codes
Creating and Using Custom SAFs
Write the Source Code
Compile and Link
Load and Initialize the SAF
Instruct the Server to Call the SAFs
Reconfigure the Server
Test the SAF
Overview of NSAPI C Functions
Parameter Block Manipulation Routines
Protocol Utilities for Service SAFs
Memory Management
File I/O
Network I/O
Threads
Utilities
Virtual Server
Required Behavior of SAFs for Each Directive
Init SAFs
AuthTrans SAFs
NameTrans SAFs
PathCheck SAFs
ObjectType SAFs
Service SAFs
Error SAFs
AddLog SAFs
CGI to NSAPI Conversion

Examples of Custom SAFs

Examples in the Build
AuthTrans Example
Installing the Example
Source Code
NameTrans Example
Installing the Example
Source Code
PathCheck Example
Installing the Example
Source Code
ObjectType Example
Installing the Example
Source Code
Service Example
Installing the Example
Source Code
More Complex Service Example
Source Code
AddLog Example
Installing the Example
Source Code
Quality of Service Examples
Installing the Example
Source Code

NSAPI Function Reference

NSAPI Functions (in Alphabetical Order)
CALLOC
cinfo_find
condvar_init
condvar_notify
condvar_terminate
condvar_wait
crit_enter
crit_exit
crit_init
crit_terminate
daemon_atrestart
fc_open
fc_close
filebuf_buf2sd
filebuf_close
filebuf_getc
filebuf_open
filebuf_open_nostat
FREE
func_exec
func_find
log_error
MALLOC
net_ip2host
net_read
net_write
netbuf_buf2sd
netbuf_close
netbuf_getc
netbuf_grab
netbuf_open
param_create
param_free
pblock_copy
pblock_create
pblock_dup
pblock_find
pblock_findval
pblock_free
pblock_nninsert
pblock_nvinsert
pblock_pb2env
pblock_pblock2str
pblock_pinsert
pblock_remove
pblock_str2pblock
PERM_CALLOC
PERM_FREE
PERM_MALLOC
PERM_REALLOC
PERM_STRDUP
prepare_nsapi_thread
protocol_dump822
protocol_set_finfo
protocol_start_response
protocol_status
protocol_uri2url
protocol_uri2url_dynamic
REALLOC
request_get_vs
request_header
request_stat_path
request_translate_uri
session_dns
session_maxdns
shexp_casecmp
shexp_cmp
shexp_match
shexp_valid
STRDUP
system_errmsg
system_fclose
system_flock
system_fopenRO
system_fopenRW
system_fopenWA
system_fread
system_fwrite
system_fwrite_atomic
system_gmtime
system_localtime
system_lseek
system_rename
system_ulock
system_unix2local
systhread_attach
systhread_current
systhread_getdata
systhread_newkey
systhread_setdata
systhread_sleep
systhread_start
systhread_timerset
util_can_exec
util_chdir2path
util_cookie_find
util_env_find
util_env_free
util_env_replace
util_env_str
util_getline
util_hostname
util_is_mozilla
util_is_url
util_itoa
util_later_than
util_sh_escape
util_snprintf
util_sprintf
util_strcasecmp
util_strftime
util_strncasecmp
util_uri_escape
util_uri_is_evil
util_uri_parse
util_uri_unescape
util_vsnprintf
util_vsprintf
vs_alloc_slot
vs_get_data
vs_get_default_httpd_object
vs_get_doc_root
vs_get_httpd_objset
vs_get_id
vs_get_mime_type
vs_lookup_config_var
vs_register_cb
vs_set_data
vs_translate_uri

Creating Custom Server-Parsed HTML Tags

Define the Functions that Implement the Tag
Write an Initialization Function
Load the New Tag into the Server

Data Structure Reference

Privatization of Some Data Structures
session
pblock
pb_entry
pb_param
Session->client
request
stat
shmem_s
cinfo

Wildcard Patterns

Wildcard Patterns
Wildcard Examples

Time Formats

Dynamic Results Caching Functions

dr_cache_destroy
dr_cache_init
dr_cache_refresh
dr_net_write
fc_net_write

HyperText Transfer Protocol

Compliance
Requests
Request Method, URI, and Protocol Version
Request Headers
Request Data
Responses
HTTP Protocol Version, Status Code, and Reason Phrase
Response Headers
Response Data
Buffered Streams

Alphabetical List of Pre-defined SAFs

Alphabetical List of NSAPI Functions and Macros

Index


Index      Next     
Copyright 2002 Sun Microsystems, Inc. All rights reserved.