Javascript Insert v10+
Problem this snippet solves:
This is irule that was slightly altered together to insert Javascript code prior to the tag in a website. The idea is that you can quickly insert javascipt code to a website the ADC is hosting It requires a streaming profile and works on v10
Code :
when RULE_INIT {
set static::jscript {
}
}
when HTTP_REQUEST {
# Disable the stream filter by default
STREAM::disable
set uri [string tolower [HTTP::uri]]
}
when HTTP_RESPONSE {
if { [HTTP::status] == 200 } {
if {[HTTP::header value Content-Type] contains "text"} {
set stream_find ""
set stream_find_lower ""
set stream_repl ""
set insertJscript 1
# Do not allow the Javascript insertion if the pages end with the following
switch -glob $uri {
"*.ashx*" -
"*.asmx*" -
"*.axd*" -
"*.js*" {
set insertJscript 0
}
default {
if { [HTTP::payload] contains "META HTTP-EQUIV=\"Refresh\""} {
set insertJscript 0
}
}
}
if {$insertJscript == 1} {
append stream_repl $static::jscript
append stream_expression "@$stream_find@$stream_repl$stream_find@"
append stream_expression "@$stream_find_lower@$stream_repl$stream_find_lower@"
STREAM::expression $stream_expression
STREAM::enable
}
}
}
} Published Mar 18, 2015
Version 1.0The_Bhattman
Nimbostratus
Joined October 14, 2005
The_Bhattman
Nimbostratus
Joined October 14, 2005
1 Comment
- Greg_33923
Nimbostratus
I like this irule and have used it! Is there a way to use the same irule for different VIP's, but add some logic to run a different script if the user's dns name was different? so if usera connects to sites.intranet.com and userb connects to sites.internet.com they execute a different script?