16
16
17
17
from __future__ import absolute_import
18
18
from __future__ import print_function
19
- import splunklib .six .moves .SimpleHTTPServer
20
- import splunklib .six .moves .socketserver
21
- import urllib2
22
19
import sys
23
- import StringIO
24
- from splunklib import six
20
+ import os
21
+
22
+ sys .path .insert (0 , os .path .join (os .path .dirname (__file__ ), ".." , ".." ))
23
+
24
+ from splunklib .six import iteritems
25
+ from splunklib .six .moves import socketserver , SimpleHTTPServer , StringIO , urllib
25
26
26
27
PORT = 8080
27
28
28
- class RedirectHandler (six .moves .SimpleHTTPServer .SimpleHTTPRequestHandler ):
29
+
30
+ class RedirectHandler (SimpleHTTPServer .SimpleHTTPRequestHandler ):
29
31
def do_GET (self ):
30
32
redirect_url , headers = self .get_url_and_headers ()
31
33
if redirect_url is None :
@@ -83,13 +85,13 @@ def make_request(self, url, method, data, headers):
83
85
84
86
try :
85
87
# Make the request
86
- request = urllib2 .Request (url , data , headers )
88
+ request = urllib .Request (url , data , headers )
87
89
request .get_method = lambda : method
88
- response = urllib2 .urlopen (request )
90
+ response = urllib .urlopen (request )
89
91
90
92
# We were successful, so send the response code
91
93
self .send_response (response .code , message = response .msg )
92
- for key , value in six . iteritems (dict (response .headers )):
94
+ for key , value in iteritems (dict (response .headers )):
93
95
# Optionally log the headers
94
96
#self.log_message("%s: %s" % (key, value))
95
97
@@ -105,16 +107,16 @@ def make_request(self, url, method, data, headers):
105
107
106
108
# Copy the response to the output
107
109
self .copyfile (response , self .wfile )
108
- except urllib2 .HTTPError as e :
110
+ except urllib .HTTPError as e :
109
111
# On errors, log the response code and message
110
112
self .log_message ("Code: %s (%s)" , e .code , e .msg )
111
113
112
- for key , value in six . iteritems (dict (e .hdrs )):
114
+ for key , value in iteritems (dict (e .hdrs )):
113
115
# On errors, we always log the headers
114
116
self .log_message ("%s: %s" , key , value )
115
117
116
118
response_text = e .fp .read ()
117
- response_file = StringIO . StringIO (response_text )
119
+ response_file = StringIO (response_text )
118
120
119
121
# On errors, we also log the response text
120
122
self .log_message ("Response: %s" , response_text )
@@ -135,10 +137,10 @@ def make_request(self, url, method, data, headers):
135
137
# Finally, send the error itself
136
138
self .copyfile (response_file , self .wfile )
137
139
138
- class ReuseableSocketTCPServer (six . moves . socketserver .TCPServer ):
140
+ class ReuseableSocketTCPServer (socketserver .TCPServer ):
139
141
def __init__ (self , * args , ** kwargs ):
140
142
self .allow_reuse_address = True
141
- six . moves . socketserver .TCPServer .__init__ (self , * args , ** kwargs )
143
+ socketserver .TCPServer .__init__ (self , * args , ** kwargs )
142
144
143
145
def serve (port = PORT ):
144
146
Handler = RedirectHandler
0 commit comments