)]}'
{"designate/api/__init__.py":[{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"ef673f6e0c86218343867618e0f7372b6c04bc1e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"               help\u003d\u0027Number of api worker processes to spawn\u0027),"},{"line_number":26,"context_line":"    cfg.IntOpt(\u0027threads\u0027, default\u003d1000,"},{"line_number":27,"context_line":"               help\u003d\u0027Number of api greenthreads to spawn\u0027),"},{"line_number":28,"context_line":"    cfg.BoolOpt(\u0027enable-host-header\u0027, default\u003dFalse),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027api-base-uri\u0027, default\u003d\u0027http://127.0.0.1:9001/\u0027),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027api_host\u0027, default\u003d\u00270.0.0.0\u0027,"},{"line_number":31,"context_line":"               help\u003d\u0027API Host\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_3d3a8437","line":28,"updated":"2015-07-20 15:16:31.000000000","message":"I think it\u0027d be good to add a \u0027help\u0027 here, so that it\u0027s easier for people to know what this is.","commit_id":"83b14a65b82e386c89651ed183811745b3e52c52"}],"designate/api/versions.py":[{"author":{"_account_id":11662,"name":"Paul Glass","email":"paul.glass@rackspace.com","username":"pglass"},"change_message_id":"bcbb84b775eeb1bddb37f6bfd6b8fa3aceea7f2f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        try:"},{"line_number":31,"context_line":"            host_url \u003d flask.request.host_url"},{"line_number":32,"context_line":"            versions[0][\u0027links\u0027][0][\u0027href\u0027] \u003d host_url + \u0027v1\u0027"},{"line_number":33,"context_line":"            versions[1][\u0027links\u0027][0][\u0027href\u0027] \u003d host_url + \u0027v2\u0027"},{"line_number":34,"context_line":"        except Exception:"},{"line_number":35,"context_line":"            pass"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_6759c4fc","line":33,"updated":"2015-07-28 21:40:42.000000000","message":"We probably don\u0027t want to modify the versions list in place... I think two simultaneous requests with different host headers could receive the wrong host header? Or maybe different threads will have different copies of this list and it just works.\n\nEither way, I would rather see this file create a fresh dictionary with the version info, or make a deep copy of the versions list.","commit_id":"815b77b4ef542ec261d157c4f6a8589d4cf58a67"}],"designate/objects/adapters/api_v2/base.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"ebbc794a8dcbcef37a16e66914e978832e278c00","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @classmethod"},{"line_number":80,"context_line":"    def _get_resource_links(cls, object, request):"},{"line_number":81,"context_line":"        if cfg.CONF[\u0027service:api\u0027].enable_host_header:"},{"line_number":82,"context_line":"            cls.BASE_URI \u003d request.host"},{"line_number":83,"context_line":"        return {\u0027self\u0027: \u0027%s%s/%s\u0027 %"},{"line_number":84,"context_line":"                (cls.BASE_URI, cls._get_path(request), object.id)}"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_8184e35d","line":82,"updated":"2015-07-09 10:28:07.000000000","message":"At first glance (i.e. I haven\u0027t checked!) I believe this is incorrect. \n\nBefore this change, cls.BASE_URI would be \"http://foo:port\", while now, I believe this will either be \"foo:port\" or just \"foo\" - i.e. the scheme, and possibly the port are missing.","commit_id":"81a3cf4a7a7bfa979387864c20eb0da7411851e3"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"ef673f6e0c86218343867618e0f7372b6c04bc1e","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @classmethod"},{"line_number":80,"context_line":"    def _get_resource_links(cls, object, request):"},{"line_number":81,"context_line":"        if cfg.CONF[\u0027service:api\u0027].enable_host_header:"},{"line_number":82,"context_line":"            cls.BASE_URI \u003d request.host_uri"},{"line_number":83,"context_line":"        return {\u0027self\u0027: \u0027%s%s/%s\u0027 %"},{"line_number":84,"context_line":"                (cls.BASE_URI, cls._get_path(request), object.id)}"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_fb72e47b","line":82,"updated":"2015-07-20 15:16:31.000000000","message":"There should probably be more validation here. I\u0027ve observed that sometimes request.host_uri doesn\u0027t exist. Or it may be that it is malformed somehow. Basically in any case other than where it is a valid thing to return, this should fall back to the config value.\n\nI also wonder if setting the class variable is the right thing to do. It might be better to have something more local.","commit_id":"83b14a65b82e386c89651ed183811745b3e52c52"}]}
