@@ -120,37 +120,38 @@ export default {
120120
121121``` py 
122122import  re
123- from  js import  Response, URL , fetch
123+ from  workers import  Response
124+ from  urllib.parse import  urlparse
124125
125126async  def  on_fetch (request ):
126127    blocked_hostnames =  [" nope.mywebsite.com"  , " bye.website.com"  ]
127-     url =  URL .new (request.url)
128+     url =  urlparse (request.url)
128129
129130    #  Block on hostname
130131    if  url.hostname in  blocked_hostnames:
131-         return  Response.new (" Blocked Host"  , status = 403 )
132+         return  Response(" Blocked Host"  , status = 403 )
132133
133134    #  On paths ending in .doc or .xml
134-     if  re.search(r ' \. ( doc| xml) $ '  , url.pathname ):
135-         return  Response.new (" Blocked Extension"  , status = 403 )
135+     if  re.search(r ' \. ( doc| xml) $ '  , url.path ):
136+         return  Response(" Blocked Extension"  , status = 403 )
136137
137138    #  On HTTP method
138139    if  " POST"   in  request.method:
139-         return  Response.new (" Response for POST"  )
140+         return  Response(" Response for POST"  )
140141
141142    #  On User Agent
142143    user_agent =  request.headers[" User-Agent"  ] or  " " 
143144    if  " bot"   in  user_agent:
144-         return  Response.new (" Block User Agent containing bot"  , status = 403 )
145+         return  Response(" Block User Agent containing bot"  , status = 403 )
145146
146147    #  On Client's IP address
147148    client_ip =  request.headers[" CF-Connecting-IP"  ]
148149    if  client_ip ==  " 1.2.3.4"  :
149-         return  Response.new (" Block the IP 1.2.3.4"  , status = 403 )
150+         return  Response(" Block the IP 1.2.3.4"  , status = 403 )
150151
151152    #  On ASN
152153    if  request.cf and  request.cf.asn ==  64512 :
153-         return  Response.new (" Block the ASN 64512 response"  )
154+         return  Response(" Block the ASN 64512 response"  )
154155
155156    #  On Device Type
156157    #  Requires Enterprise "CF-Device-Type Header" zone setting or
0 commit comments