@@ -26,6 +26,10 @@ def do_GET(self):
2626
2727 render = execute_ast_view_request (
2828 node_body = current_view .view , request = request , requirement_view = current_view .requirement_view )
29+
30+ if type (render ).__name__ == 'Redirect' :
31+ render = render .get_render (request )
32+
2933 template = str .join (" " , render .render_template ().splitlines ())
3034 self .send_response (200 )
3135 self .send_header ('Content-type' , 'text/html' )
@@ -61,6 +65,88 @@ def do_POST(self):
6165
6266 render = execute_ast_view_request (
6367 node_body = current_view .view , request = request , requirement_view = current_view .requirement_view )
68+
69+ if type (render ).__name__ == 'Redirect' :
70+ render = render .get_render (request )
71+
72+ template = str .join (" " , render .render_template ().splitlines ())
73+ self .send_response (200 )
74+ self .send_header ('Content-type' , 'text/html' )
75+ self .end_headers ()
76+ self .wfile .write (template .encode ())
77+ else :
78+ super ().do_GET ()
79+
80+ def do_PUT (self ):
81+ content_length = int (self .headers ['Content-Length' ])
82+ post_body = self .rfile .read (content_length )
83+ temp_post_body = {}
84+ for i in post_body .decode ('utf-8' ).split ('&' ):
85+ element = i .split ('=' )
86+ if len (element ) == 2 :
87+ temp_post_body [element [0 ]] = element [1 ]
88+
89+ current_view = View .CallView (self .path )
90+
91+ if current_view .name is not None :
92+ request = {
93+ 'method' : 'PUT' ,
94+ 'headers' : {
95+ 'Host' : self .headers .get ('Host' ),
96+ 'Upgrade-Insecure-Requests' : self .headers .get ('Upgrade-Insecure-Requests' ),
97+ 'User-Agent' : self .headers .get ('User-Agent' ),
98+ 'Accept' : self .headers .get ('Accept' ),
99+ 'Accept-Encoding' : self .headers .get ('Accept-Encoding' ),
100+ 'Accept-Language' : self .headers .get ('Accept-Language' )
101+ },
102+ 'body' : temp_post_body
103+ }
104+
105+ render = execute_ast_view_request (
106+ node_body = current_view .view , request = request , requirement_view = current_view .requirement_view )
107+
108+ if type (render ).__name__ == 'Redirect' :
109+ render = render .get_render (request )
110+
111+ template = str .join (" " , render .render_template ().splitlines ())
112+ self .send_response (200 )
113+ self .send_header ('Content-type' , 'text/html' )
114+ self .end_headers ()
115+ self .wfile .write (template .encode ())
116+ else :
117+ super ().do_GET ()
118+
119+ def do_PATCH (self ):
120+ content_length = int (self .headers ['Content-Length' ])
121+ post_body = self .rfile .read (content_length )
122+ temp_post_body = {}
123+ for i in post_body .decode ('utf-8' ).split ('&' ):
124+ element = i .split ('=' )
125+ if len (element ) == 2 :
126+ temp_post_body [element [0 ]] = element [1 ]
127+
128+ current_view = View .CallView (self .path )
129+
130+ if current_view .name is not None :
131+ request = {
132+ 'method' : 'PATCH' ,
133+ 'headers' : {
134+ 'Host' : self .headers .get ('Host' ),
135+ 'Upgrade-Insecure-Requests' : self .headers .get ('Upgrade-Insecure-Requests' ),
136+ 'User-Agent' : self .headers .get ('User-Agent' ),
137+ 'Accept' : self .headers .get ('Accept' ),
138+ 'Accept-Encoding' : self .headers .get ('Accept-Encoding' ),
139+ 'Accept-Language' : self .headers .get ('Accept-Language' )
140+ },
141+ 'body' : temp_post_body
142+ }
143+
144+ render = execute_ast_view_request (
145+ node_body = current_view .view , request = request , requirement_view = current_view .requirement_view )
146+
147+ if type (render ).__name__ == 'Redirect' :
148+ render = render .get_render (request )
149+
64150 template = str .join (" " , render .render_template ().splitlines ())
65151 self .send_response (200 )
66152 self .send_header ('Content-type' , 'text/html' )
0 commit comments