)]}'
{"swift/common/middleware/staticweb.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"60407a5bd9fa254d45603167b4f2eda931ff5650","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        tmp_env \u003d dict(env)"},{"line_number":432,"context_line":"        tmp_env[\u0027HTTP_USER_AGENT\u0027] \u003d \\"},{"line_number":433,"context_line":"            \u0027%s StaticWeb\u0027 % env.get(\u0027HTTP_USER_AGENT\u0027)"},{"line_number":434,"context_line":"        tmp_env[\u0027swift.source\u0027] \u003d \u0027SW\u0027"},{"line_number":435,"context_line":"        resp \u003d self._app_call(tmp_env)"},{"line_number":436,"context_line":"        status_int \u003d self._get_status_int()"},{"line_number":437,"context_line":"        self._get_container_info(env)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_eb6882f5","side":"PARENT","line":434,"updated":"2020-09-29 21:34:50.000000000","message":"Without either of these, do we have any indication that we\u0027re doing staticweb stuff? Should we?","commit_id":"63d04b953a046b4d497c59f98d9ca696992f9c3d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"cfa1372fd172bc1f767a70ee85eb21b209a8758f","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        tmp_env \u003d dict(env)"},{"line_number":432,"context_line":"        tmp_env[\u0027HTTP_USER_AGENT\u0027] \u003d \\"},{"line_number":433,"context_line":"            \u0027%s StaticWeb\u0027 % env.get(\u0027HTTP_USER_AGENT\u0027)"},{"line_number":434,"context_line":"        tmp_env[\u0027swift.source\u0027] \u003d \u0027SW\u0027"},{"line_number":435,"context_line":"        resp \u003d self._app_call(tmp_env)"},{"line_number":436,"context_line":"        status_int \u003d self._get_status_int()"},{"line_number":437,"context_line":"        self._get_container_info(env)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_cdbe6963","side":"PARENT","line":434,"in_reply_to":"9f560f44_eb6882f5","updated":"2020-09-30 13:01:13.000000000","message":"as best I can tell we\u0027re not \"doing static web stuff\" here - this is ust the original request - the code is paying attention to the response.","commit_id":"63d04b953a046b4d497c59f98d9ca696992f9c3d"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"60407a5bd9fa254d45603167b4f2eda931ff5650","unresolved":false,"context_lines":[{"line_number":404,"context_line":"            return self._redirect_with_slash(env, start_response)"},{"line_number":405,"context_line":"        if not self._index:"},{"line_number":406,"context_line":"            return self._listing(env, start_response)"},{"line_number":407,"context_line":"        tmp_env \u003d dict(env)"},{"line_number":408,"context_line":"        tmp_env[\u0027HTTP_USER_AGENT\u0027] \u003d \\"},{"line_number":409,"context_line":"            \u0027%s StaticWeb\u0027 % env.get(\u0027HTTP_USER_AGENT\u0027)"},{"line_number":410,"context_line":"        tmp_env[\u0027swift.source\u0027] \u003d \u0027SW\u0027"},{"line_number":411,"context_line":"        tmp_env[\u0027PATH_INFO\u0027] +\u003d self._index"},{"line_number":412,"context_line":"        resp \u003d self._app_call(tmp_env)"},{"line_number":413,"context_line":"        status_int \u003d self._get_status_int()"},{"line_number":414,"context_line":"        if status_int \u003d\u003d HTTP_NOT_FOUND:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_0b6fb6fa","line":411,"range":{"start_line":407,"start_character":8,"end_line":411,"end_character":43},"updated":"2020-09-29 21:34:50.000000000","message":"So how do we feel about this env copy?","commit_id":"dddd97ba051bc63cbdb482a07ec877942d825984"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"cfa1372fd172bc1f767a70ee85eb21b209a8758f","unresolved":false,"context_lines":[{"line_number":404,"context_line":"            return self._redirect_with_slash(env, start_response)"},{"line_number":405,"context_line":"        if not self._index:"},{"line_number":406,"context_line":"            return self._listing(env, start_response)"},{"line_number":407,"context_line":"        tmp_env \u003d dict(env)"},{"line_number":408,"context_line":"        tmp_env[\u0027HTTP_USER_AGENT\u0027] \u003d \\"},{"line_number":409,"context_line":"            \u0027%s StaticWeb\u0027 % env.get(\u0027HTTP_USER_AGENT\u0027)"},{"line_number":410,"context_line":"        tmp_env[\u0027swift.source\u0027] \u003d \u0027SW\u0027"},{"line_number":411,"context_line":"        tmp_env[\u0027PATH_INFO\u0027] +\u003d self._index"},{"line_number":412,"context_line":"        resp \u003d self._app_call(tmp_env)"},{"line_number":413,"context_line":"        status_int \u003d self._get_status_int()"},{"line_number":414,"context_line":"        if status_int \u003d\u003d HTTP_NOT_FOUND:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6d72bde6","line":411,"range":{"start_line":407,"start_character":8,"end_line":411,"end_character":43},"in_reply_to":"9f560f44_0b6fb6fa","updated":"2020-09-30 13:01:13.000000000","message":"i guess we could hit this if the an static web index page set, and in that case we\u0027re modifying the incoming request and changing the path so maybe it makes more sense as a subrequest?","commit_id":"dddd97ba051bc63cbdb482a07ec877942d825984"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"60407a5bd9fa254d45603167b4f2eda931ff5650","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            return resp"},{"line_number":458,"context_line":"        status_int \u003d HTTP_NOT_FOUND"},{"line_number":459,"context_line":"        if self._index:"},{"line_number":460,"context_line":"            tmp_env \u003d dict(env)"},{"line_number":461,"context_line":"            tmp_env[\u0027HTTP_USER_AGENT\u0027] \u003d \\"},{"line_number":462,"context_line":"                \u0027%s StaticWeb\u0027 % env.get(\u0027HTTP_USER_AGENT\u0027)"},{"line_number":463,"context_line":"            tmp_env[\u0027swift.source\u0027] \u003d \u0027SW\u0027"},{"line_number":464,"context_line":"            if not tmp_env[\u0027PATH_INFO\u0027].endswith(\u0027/\u0027):"},{"line_number":465,"context_line":"                tmp_env[\u0027PATH_INFO\u0027] +\u003d \u0027/\u0027"},{"line_number":466,"context_line":"            tmp_env[\u0027PATH_INFO\u0027] +\u003d self._index"},{"line_number":467,"context_line":"            resp \u003d self._app_call(tmp_env)"},{"line_number":468,"context_line":"            status_int \u003d self._get_status_int()"},{"line_number":469,"context_line":"            if is_success(status_int) or is_redirection(status_int):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_4b79aec3","line":466,"range":{"start_line":460,"start_character":12,"end_line":466,"end_character":47},"updated":"2020-09-29 21:34:50.000000000","message":"Or this one?","commit_id":"dddd97ba051bc63cbdb482a07ec877942d825984"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"cfa1372fd172bc1f767a70ee85eb21b209a8758f","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            return resp"},{"line_number":458,"context_line":"        status_int \u003d HTTP_NOT_FOUND"},{"line_number":459,"context_line":"        if self._index:"},{"line_number":460,"context_line":"            tmp_env \u003d dict(env)"},{"line_number":461,"context_line":"            tmp_env[\u0027HTTP_USER_AGENT\u0027] \u003d \\"},{"line_number":462,"context_line":"                \u0027%s StaticWeb\u0027 % env.get(\u0027HTTP_USER_AGENT\u0027)"},{"line_number":463,"context_line":"            tmp_env[\u0027swift.source\u0027] \u003d \u0027SW\u0027"},{"line_number":464,"context_line":"            if not tmp_env[\u0027PATH_INFO\u0027].endswith(\u0027/\u0027):"},{"line_number":465,"context_line":"                tmp_env[\u0027PATH_INFO\u0027] +\u003d \u0027/\u0027"},{"line_number":466,"context_line":"            tmp_env[\u0027PATH_INFO\u0027] +\u003d self._index"},{"line_number":467,"context_line":"            resp \u003d self._app_call(tmp_env)"},{"line_number":468,"context_line":"            status_int \u003d self._get_status_int()"},{"line_number":469,"context_line":"            if is_success(status_int) or is_redirection(status_int):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_4d6ff9f9","line":466,"range":{"start_line":460,"start_character":12,"end_line":466,"end_character":47},"in_reply_to":"9f560f44_4b79aec3","updated":"2020-09-30 13:01:13.000000000","message":"since we\u0027ve already made the original request and we\u0027re modifying the path this is probably more of a subrequest","commit_id":"dddd97ba051bc63cbdb482a07ec877942d825984"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"60407a5bd9fa254d45603167b4f2eda931ff5650","unresolved":false,"context_lines":[{"line_number":474,"context_line":"                return resp"},{"line_number":475,"context_line":"        if status_int \u003d\u003d HTTP_NOT_FOUND:"},{"line_number":476,"context_line":"            if not env[\u0027PATH_INFO\u0027].endswith(\u0027/\u0027):"},{"line_number":477,"context_line":"                tmp_env \u003d make_env("},{"line_number":478,"context_line":"                    env, \u0027GET\u0027, \u0027/%s/%s/%s\u0027 % ("},{"line_number":479,"context_line":"                        self.version, self.account, self.container),"},{"line_number":480,"context_line":"                    self.agent, swift_source\u003d\u0027SW\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_eb41a265","line":477,"range":{"start_line":477,"start_character":26,"end_line":477,"end_character":34},"updated":"2020-09-29 21:34:50.000000000","message":"This seems *way* more legit.","commit_id":"dddd97ba051bc63cbdb482a07ec877942d825984"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"cfa1372fd172bc1f767a70ee85eb21b209a8758f","unresolved":false,"context_lines":[{"line_number":474,"context_line":"                return resp"},{"line_number":475,"context_line":"        if status_int \u003d\u003d HTTP_NOT_FOUND:"},{"line_number":476,"context_line":"            if not env[\u0027PATH_INFO\u0027].endswith(\u0027/\u0027):"},{"line_number":477,"context_line":"                tmp_env \u003d make_env("},{"line_number":478,"context_line":"                    env, \u0027GET\u0027, \u0027/%s/%s/%s\u0027 % ("},{"line_number":479,"context_line":"                        self.version, self.account, self.container),"},{"line_number":480,"context_line":"                    self.agent, swift_source\u003d\u0027SW\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_cd4ca99f","line":477,"range":{"start_line":477,"start_character":26,"end_line":477,"end_character":34},"in_reply_to":"9f560f44_eb41a265","updated":"2020-09-30 13:01:13.000000000","message":"yup, the helpers are the way to go!  this code probably predates all that...","commit_id":"dddd97ba051bc63cbdb482a07ec877942d825984"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"cb5303aacb1a42e35b29c99bd72e21f2421dc764","unresolved":false,"context_lines":[{"line_number":445,"context_line":"            else:"},{"line_number":446,"context_line":"                start_response(self._response_status, self._response_headers,"},{"line_number":447,"context_line":"                               self._response_exc_info)"},{"line_number":448,"context_line":"                return resp"},{"line_number":449,"context_line":"        if status_int !\u003d HTTP_NOT_FOUND:"},{"line_number":450,"context_line":"            # Retaining the previous code\u0027s behavior of not using custom error"},{"line_number":451,"context_line":"            # pages for non-404 errors."}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_c703d30f","line":448,"updated":"2020-10-01 15:48:19.000000000","message":"I think this is the common path for object requests","commit_id":"f820dc8dc7ba3af40da461c97ea5801bd46cf6fd"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"cb5303aacb1a42e35b29c99bd72e21f2421dc764","unresolved":false,"context_lines":[{"line_number":541,"context_line":"            return self.app(env, start_response)"},{"line_number":542,"context_line":"        if env.get(\u0027REMOTE_USER\u0027) and \\"},{"line_number":543,"context_line":"                not config_true_value(env.get(\u0027HTTP_X_WEB_MODE\u0027, \u0027f\u0027)):"},{"line_number":544,"context_line":"            return self.app(env, start_response)"},{"line_number":545,"context_line":"        if not container:"},{"line_number":546,"context_line":"            return self.app(env, start_response)"},{"line_number":547,"context_line":"        context \u003d _StaticWebContext(self, version, account, container, obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_671da776","line":544,"updated":"2020-10-01 15:48:19.000000000","message":"maybe \"the problem\" is here?  are these the only kinds of requests we can let entirely bypass static web?\n\nif none of that web-index, web-listings stuff is set on the container I guess there\u0027s some defaults that effect *all* requests?","commit_id":"f820dc8dc7ba3af40da461c97ea5801bd46cf6fd"}]}
