TrafficScript Functions in the Java Extension API

This chapter details how to use the TrafficScript functionality in a Java Extension.

To find more information about Java, see Java API Documentation.

Equivalent TrafficScript Functions in the Java Extension API

This table lists TrafficScipt functions and the equivalent Java Extension API.

TrafficScript Function

Java Extension API

connection.close()/discard()

ZXTMServletResponse.dropConnection()

connection.getMemoryUsage()

No equivalent.

connection.getNode()

ServletRequest.getAttribute( “node” )

connection.get/setPersistence()

ServletRequest.get/setAttribute( “persistence” )

connection.getPool()

ServletRequest.getAttribute( “pool” )

connection.get/
setServiceLevelClass()

ServletRequest.get/setAttribute( “servicelevel” )

connection.getVirtualServer()

ServletRequest.getAttribute( “virtualserver” )

connection.setPersistenceKey()

ServletRequest.setAttribute( “persistencekey” )

connection.setPersistenceNode()

ServletRequest.setAttribute( “persistencenode” )

connection.sleep()

Thread.sleep()

connection.data.get/set()

ZXTMServletRequest.get/setConnectionData()

counter.increment()

ZXTMServletRequest.incrementCounter()

data.get/set()

ZXTMServletRequest.get/setData()

data.getMemoryUsage()

No equivalent.

data.reset()

No equivalent.

event.emit( event, message )

ZXTMServletRequest.emitEvent( event, message )

http.add/remove/setHeader()

ZXTMHttpServletRequest.add/remove/setHeader()

http.addResponseHeader()

HttpServletResponse.addHeader()

http.changeSite()

HttpServletResponse.sendRedirect()

http.doesFormParamExist()/
getFormParam()/
getQueryString()

HttpServletRequest.getQueryString()

http.getBody()

ServletRequest.getInputStream()/getReader()

http.getCookie()

HttpServletRequest.getCookies()

http.getHeader()/headerExists()

HttpServletRequest.getHeader()

http.getHeaderNames()

HttpServletRequest.getHeaderNames()

http.getHostHeader()

HttpServletRequest.getHeader()

http.getMethod()

HttpServletRequest.getMethod()

http.getMultipartAttachment()

Servlet can read the body data itself

http.getPath()

HttpServletRequest.getRequestURL()

http.getRawURL()

No equivalent.

http.getResponseBody()

ZXTMHttpServletResponse.getInputStream()/
getReader()

http.getResponseCode()

ZXTMHttpServletResponse.getStatus()

http.setResponseCode()

HttpServletResponse.setStatus()

http.getResponseCookie()

ZXTMHttpServletResponse.getCookies()

http.getResponseHeader()/
responseHeaderExists()

ZXTMHttpServletResponse.getHeader()

http.getResponseHeaderNames()

ZXTMHttpServletResponse.getHeaderNames()

http.getVersion()

ServletRequest.getProtocol()

http.normalisePath()

No equivalent.

http.redirect()

HttpServlet.sendRedirect()

http.removeCookie()/
setCookie()

ZXTMHttpServletRequest.removeCookie()

http.removeResponseCookie()

ZXTMHttpServletResponse.removeCookie()

http.removeResponseHeader()

ZXTMHttpServletResponse.removeHeader()

http.scrubRequest/
ResponseHeaders()

No equivalent.

http.sendResponse()

HttpServletResponse.sendError()

http.setBody()

ZXTMHttpServletResponse.getWriter().print()

http.setCookie()

HttpServletResponse.addCookie()

http.setIdempotent()

ServletRequest.setAttribute( “idempotent” )

http.setMethod()

ZXTMHttpServletRequest.setMethod()

http.setPath()

ZXTMHttpServletRequest.setRequestURI()

http.set/setRawQueryString()

ZXTMHttpServletRequest.setQueryString()

http.setResponseBody()

ServletResponse.getOutputStream()/getWriter()

http.setResponseCode()

HttpServletResponse.setStatus()

http.setResponseCookie()

HttpServletResponse.addCookie()

http.stream.startResponse()

HttpServletResponse.addHeader(), followed by HttpServletResponse.setStatus()

http.stream.readResponse()/
readBulkResponse()

ZXTMHttpServletResponse.getInputStream()/
getReader()

http.stream.writeResponse()

ServletResponse.getOutputStream().write()/
ServletResponse.getWriter().print()

http.stream.finishResponse()

Servlet completes

http.stream.continueFromBackend

No equivalent

http.cache.disable()/enable()

ServletRequest.getAttribute( “cache” )

http.cache.setKey()

ServletRequest.getAttribute( “cachekey” )

http.compress.disable()/enable()

ServletRequest.getAttribute( “compress” )

http.request.get()/head()/post()

Use built in Java functions.

geo.getCity()

ZXTMServletRequest.geoGetCity()

geo.getCountry()

ZXTMServletRequest.geoGetCountry()

geo.getCountryCode()

ZXTMServletRequest.geoGetCountryCode()

geo.getDistanceKM()

ZXTMServletRequest.geoGetDistanceKM()

geo.getDistanceMiles()

ZXTMServletRequest.geoGetDistanceMiles()

geo.getIPDistanceKM()

ZXTMServletRequest.geoGetIPDistanceKM()

geo.getIPDistanceMiles()

ZXTMServletRequest.geoGetIPDistanceMiles()

geo.getLatitude()/getLongitude()

ZXTMServletRequest.geoGetLatLon()

geo.getRegion()

ZXTMServletRequest.geoGetRegion()

geo.getRegionCode()

ZXTMServletRequest.geoGetRegionCode()

lang.*

Use built in Java functions.

math.*

Use built in Java functions.

net.dns.resolveHost()/IP()

java.net.InetAddress.getByName()/
getHostName()

pool.activeNodes()

ZXTMServletRequest.getActiveNodes()

pool.select()/use()

ServletRequest.setAttribute( “pool” ) and
ServletRequest.setAttribute( “proxy” )

rate.getBacklog()

ZXTMServletRequest.getRateBacklog()

rate.use()

No equivalent.

request.avoidNode()

ServletRequest.setAttribute( “avoidnodes” )

request.endsAt()/endsWith()

No equivalent

request.get()/getLine()

ZXTMServletRequest.getInputStream()/
getReader()

request.get/setBandwidthClass()

ServletRequest.get/setAttribute( “bandwidth” )

request.getDestIP()/Port()

No equivalent.

request.getLength()

No equivalent.

request.getLocalIP()/Port()

ServletRequest.getAttribute( “dstip”/”dstport” )

request.get/setRemoteIP()/Port()

ServletRequest.get/setAttribute( “srcip”/”srcport” )

request.getRetries()

ServletRequest.getAttribute( “retries” )

request.get/setToS()

ServletRequest.get/setAttribute( “tos” )

request.getFD()

No equivalent.

request.isResendable()

ServletRequest.getAttribute( “resendable” )

request.retry()

ZXTMServletRequest.retry()

request.sendResponse()

ServletResponse.getOutputStream()/getWriter()

request.set()

ZXTMServletRequest.getOutputStream()/
getWriter()

resource.exists()/get()/getMD5()/
getMTime()

Use Java built in functions.

response.append()

Not provided, Extension can read/write its own response

response.close()

ZXTMServletResponse.dropConnection()

response.flush()

ServletResponse.getOutputStream().flush()

response.get()/getLine()

ZXTMServletResponse.getInputStream()/
getReader()

response.get/setBandwidthClass()

ServletRequest.get/
setAttribute( “serverbandwidth” )

response.getLength()

No equivalent.

response.getLocalIP()/Port()

ServletRequest.getAttribute( “serverdstip” / ”serverdstport” )

response.getRemoteIP()/Port()

ServletRequest.getAttribute( “serversrcip” / ”serversrcport” )

response.get/setToS()

ServletRequest.get/setAttribute( “servertos” )

response.getFD()

No equivalent.

response.set()

ServletResponse.getOutputStream()/getWriter()

rule.getName()

ServletRequest.get/setAttribute( “rule” )

rule.getState()

ZXTMServletResponse.isResponseRule() - 'true' if this is in a response rule

slm.conforming()

ZXTMServletRequest.getSLMConforming()

slm.isOK()

ZXTMServletRequest.isSLMOK()

slm.threshold()

ZXTMServletRequest.getSLMThreshold()

ssl.clientCert*()

ServletRequest.getAttribute( “javax.servlet.request.X509Certificate” )

ssl.clientCipher()

ServletRequest.getAttribute( “javax.net.ssl.cipher_suite” )

ssl.isSSL()

ServletRequest.getAttribute( “SSL_PROTOCOL” ) is set.

ssl.sslSessionID()

ServletRequest.getAttribute( “SSL_SESSIONID” )

string.*

Use built in Java functions.

sys.*

Use built in Java functions.

xml.*

Use built in Java functions.