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/ |
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()/ |
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()/ |
http.getResponseCode() |
ZXTMHttpServletResponse.getStatus() |
http.setResponseCode() |
HttpServletResponse.setStatus() |
http.getResponseCookie() |
ZXTMHttpServletResponse.getCookies() |
http.getResponseHeader()/ |
ZXTMHttpServletResponse.getHeader() |
http.getResponseHeaderNames() |
ZXTMHttpServletResponse.getHeaderNames() |
http.getVersion() |
ServletRequest.getProtocol() |
http.normalisePath() |
No equivalent. |
http.redirect() |
HttpServlet.sendRedirect() |
http.removeCookie()/ |
ZXTMHttpServletRequest.removeCookie() |
http.removeResponseCookie() |
ZXTMHttpServletResponse.removeCookie() |
http.removeResponseHeader() |
ZXTMHttpServletResponse.removeHeader() |
http.scrubRequest/ |
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()/ |
ZXTMHttpServletResponse.getInputStream()/ |
http.stream.writeResponse() |
ServletResponse.getOutputStream().write()/ |
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()/ |
pool.activeNodes() |
ZXTMServletRequest.getActiveNodes() |
pool.select()/use() |
ServletRequest.setAttribute( “pool” ) and |
rate.getBacklog() |
ZXTMServletRequest.getRateBacklog() |
rate.use() |
No equivalent. |
request.avoidNode() |
ServletRequest.setAttribute( “avoidnodes” ) |
request.endsAt()/endsWith() |
No equivalent |
request.get()/getLine() |
ZXTMServletRequest.getInputStream()/ |
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()/ |
resource.exists()/get()/getMD5()/ |
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()/ |
response.get/setBandwidthClass() |
ServletRequest.get/ |
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. |