Skip to content
This repository has been archived by the owner on Feb 18, 2019. It is now read-only.

Commit

Permalink
Bugifx/data dir not found (Meituan-Dianping#78)
Browse files Browse the repository at this point in the history
* bug fix: 1.Can't start if no data dir. 2.Lose response time

* v1.0.1

* fix bug: work thread crash with url not found

* fix bug: inspector clear flow btn not work
  • Loading branch information
zhaoye committed Dec 21, 2018
1 parent 34ba334 commit f763b0a
Show file tree
Hide file tree
Showing 11 changed files with 14 additions and 15 deletions.
2 changes: 1 addition & 1 deletion frontend/src/views/inspector/ButtonBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@
);
},
clearModalOk: function () {
this.$http.delete("/api/flow").then(response => {});
this.$http.delete('/api/flow', {body: {ids:null}}).then(response => {});
this.selectedFlow = null;
},
resetActivatedData: function () {
Expand Down
2 changes: 1 addition & 1 deletion lyrebird/client/static/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/ui/static/favicon.ico><title>Lyrebird</title><link href=/ui/static/js/chunk-2d0a3577.15b80f4c.js rel=prefetch><link href=/ui/static/js/chunk-2d0a43df.2e00c125.js rel=prefetch><link href=/ui/static/js/chunk-2d0aab07.ec9eaa41.js rel=prefetch><link href=/ui/static/js/chunk-2d0abc00.1e61764e.js rel=prefetch><link href=/ui/static/js/chunk-2d0ae937.22b2ec66.js rel=prefetch><link href=/ui/static/js/chunk-2d0aeb45.c571eeac.js rel=prefetch><link href=/ui/static/js/chunk-2d0afa49.65108fc0.js rel=prefetch><link href=/ui/static/js/chunk-2d0b2762.7faa5aa3.js rel=prefetch><link href=/ui/static/js/chunk-2d0b6187.1b01ea3f.js rel=prefetch><link href=/ui/static/js/chunk-2d0ba136.08ad9b83.js rel=prefetch><link href=/ui/static/js/chunk-2d0bb267.7da55a18.js rel=prefetch><link href=/ui/static/js/chunk-2d0bcec1.eed4b121.js rel=prefetch><link href=/ui/static/js/chunk-2d0bff92.5eac84e3.js rel=prefetch><link href=/ui/static/js/chunk-2d0c0494.b82491b3.js rel=prefetch><link href=/ui/static/js/chunk-2d0c0a09.ab666bda.js rel=prefetch><link href=/ui/static/js/chunk-2d0c1ed0.c7612dd8.js rel=prefetch><link href=/ui/static/js/chunk-2d0c4313.734ea760.js rel=prefetch><link href=/ui/static/js/chunk-2d0c46d1.a90d3520.js rel=prefetch><link href=/ui/static/js/chunk-2d0c512b.c2655e61.js rel=prefetch><link href=/ui/static/js/chunk-2d0cf16e.c3e2c753.js rel=prefetch><link href=/ui/static/js/chunk-2d0d056d.34332182.js rel=prefetch><link href=/ui/static/js/chunk-2d0d0645.5ba0a827.js rel=prefetch><link href=/ui/static/js/chunk-2d0d2f22.0b0ad9f9.js rel=prefetch><link href=/ui/static/js/chunk-2d0d7e63.967be54e.js rel=prefetch><link href=/ui/static/js/chunk-2d0e1b57.9ca83b35.js rel=prefetch><link href=/ui/static/js/chunk-2d0e1fbe.085b36f1.js rel=prefetch><link href=/ui/static/js/chunk-2d0e22d6.f15418dd.js rel=prefetch><link href=/ui/static/js/chunk-2d0e542a.f9c1a461.js rel=prefetch><link href=/ui/static/js/chunk-2d0e57ec.db5e2796.js rel=prefetch><link href=/ui/static/js/chunk-2d0e6553.e43be0ff.js rel=prefetch><link href=/ui/static/js/chunk-2d0ea098.59254529.js rel=prefetch><link href=/ui/static/js/chunk-2d208ac5.b30c459d.js rel=prefetch><link href=/ui/static/js/chunk-2d209408.f92607b1.js rel=prefetch><link href=/ui/static/js/chunk-2d20f745.2c8189f8.js rel=prefetch><link href=/ui/static/js/chunk-2d20ff23.57e1f9e1.js rel=prefetch><link href=/ui/static/js/chunk-2d2138c7.4a97aa4a.js rel=prefetch><link href=/ui/static/js/chunk-2d217e5b.40de0dd2.js rel=prefetch><link href=/ui/static/js/chunk-2d21b84a.4bfe2261.js rel=prefetch><link href=/ui/static/js/chunk-2d21dcd2.64e0a422.js rel=prefetch><link href=/ui/static/js/chunk-2d21f327.4df1e469.js rel=prefetch><link href=/ui/static/js/chunk-2d2214b3.4f3fe061.js rel=prefetch><link href=/ui/static/js/chunk-2d221a34.7ff16b79.js rel=prefetch><link href=/ui/static/js/chunk-2d22502a.f9b13f63.js rel=prefetch><link href=/ui/static/js/chunk-2d228ca6.741b4c1c.js rel=prefetch><link href=/ui/static/js/chunk-2d2295e9.599758ba.js rel=prefetch><link href=/ui/static/js/chunk-2d22c171.55accc8a.js rel=prefetch><link href=/ui/static/js/chunk-2d22c2b8.fef13e00.js rel=prefetch><link href=/ui/static/js/chunk-2d22ca58.fe58906c.js rel=prefetch><link href=/ui/static/js/chunk-2d2311f7.3c951f38.js rel=prefetch><link href=/ui/static/js/chunk-2d2371be.37f19019.js rel=prefetch><link href=/ui/static/js/chunk-2d237ee7.3cd1af21.js rel=prefetch><link href=/ui/static/js/chunk-2d238465.3860df71.js rel=prefetch><link href=/ui/static/js/chunk-7532b3ea.d6aa1a5e.js rel=prefetch><link href=/ui/static/css/app.b633f473.css rel=preload as=style><link href=/ui/static/css/chunk-vendors.7a869ba5.css rel=preload as=style><link href=/ui/static/js/app.11963e9a.js rel=preload as=script><link href=/ui/static/js/chunk-vendors.730af083.js rel=preload as=script><link href=/ui/static/css/chunk-vendors.7a869ba5.css rel=stylesheet><link href=/ui/static/css/app.b633f473.css rel=stylesheet></head><body><noscript><strong>We're sorry but Lyrebird doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/ui/static/js/chunk-vendors.730af083.js></script><script src=/ui/static/js/app.11963e9a.js></script></body></html>
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/ui/static/favicon.ico><title>Lyrebird</title><link href=/ui/static/js/chunk-2d0a3577.15b80f4c.js rel=prefetch><link href=/ui/static/js/chunk-2d0a43df.2e00c125.js rel=prefetch><link href=/ui/static/js/chunk-2d0aab07.ec9eaa41.js rel=prefetch><link href=/ui/static/js/chunk-2d0abc00.1e61764e.js rel=prefetch><link href=/ui/static/js/chunk-2d0ae937.22b2ec66.js rel=prefetch><link href=/ui/static/js/chunk-2d0aeb45.c571eeac.js rel=prefetch><link href=/ui/static/js/chunk-2d0afa49.65108fc0.js rel=prefetch><link href=/ui/static/js/chunk-2d0b2762.7faa5aa3.js rel=prefetch><link href=/ui/static/js/chunk-2d0b6187.1b01ea3f.js rel=prefetch><link href=/ui/static/js/chunk-2d0ba136.08ad9b83.js rel=prefetch><link href=/ui/static/js/chunk-2d0bb267.7da55a18.js rel=prefetch><link href=/ui/static/js/chunk-2d0bcec1.eed4b121.js rel=prefetch><link href=/ui/static/js/chunk-2d0bff92.5eac84e3.js rel=prefetch><link href=/ui/static/js/chunk-2d0c0494.b82491b3.js rel=prefetch><link href=/ui/static/js/chunk-2d0c0a09.ab666bda.js rel=prefetch><link href=/ui/static/js/chunk-2d0c1ed0.c7612dd8.js rel=prefetch><link href=/ui/static/js/chunk-2d0c4313.734ea760.js rel=prefetch><link href=/ui/static/js/chunk-2d0c46d1.a90d3520.js rel=prefetch><link href=/ui/static/js/chunk-2d0c512b.c2655e61.js rel=prefetch><link href=/ui/static/js/chunk-2d0cf16e.c3e2c753.js rel=prefetch><link href=/ui/static/js/chunk-2d0d056d.34332182.js rel=prefetch><link href=/ui/static/js/chunk-2d0d0645.5ba0a827.js rel=prefetch><link href=/ui/static/js/chunk-2d0d2f22.0b0ad9f9.js rel=prefetch><link href=/ui/static/js/chunk-2d0d7e63.967be54e.js rel=prefetch><link href=/ui/static/js/chunk-2d0e1b57.9ca83b35.js rel=prefetch><link href=/ui/static/js/chunk-2d0e1fbe.085b36f1.js rel=prefetch><link href=/ui/static/js/chunk-2d0e22d6.f15418dd.js rel=prefetch><link href=/ui/static/js/chunk-2d0e542a.f9c1a461.js rel=prefetch><link href=/ui/static/js/chunk-2d0e57ec.db5e2796.js rel=prefetch><link href=/ui/static/js/chunk-2d0e6553.e43be0ff.js rel=prefetch><link href=/ui/static/js/chunk-2d0ea098.59254529.js rel=prefetch><link href=/ui/static/js/chunk-2d208ac5.b30c459d.js rel=prefetch><link href=/ui/static/js/chunk-2d209408.f92607b1.js rel=prefetch><link href=/ui/static/js/chunk-2d20f745.2c8189f8.js rel=prefetch><link href=/ui/static/js/chunk-2d20ff23.57e1f9e1.js rel=prefetch><link href=/ui/static/js/chunk-2d2138c7.4a97aa4a.js rel=prefetch><link href=/ui/static/js/chunk-2d217e5b.40de0dd2.js rel=prefetch><link href=/ui/static/js/chunk-2d21b84a.4bfe2261.js rel=prefetch><link href=/ui/static/js/chunk-2d21dcd2.64e0a422.js rel=prefetch><link href=/ui/static/js/chunk-2d21f327.4df1e469.js rel=prefetch><link href=/ui/static/js/chunk-2d2214b3.4f3fe061.js rel=prefetch><link href=/ui/static/js/chunk-2d221a34.7ff16b79.js rel=prefetch><link href=/ui/static/js/chunk-2d22502a.f9b13f63.js rel=prefetch><link href=/ui/static/js/chunk-2d228ca6.741b4c1c.js rel=prefetch><link href=/ui/static/js/chunk-2d2295e9.599758ba.js rel=prefetch><link href=/ui/static/js/chunk-2d22c171.55accc8a.js rel=prefetch><link href=/ui/static/js/chunk-2d22c2b8.fef13e00.js rel=prefetch><link href=/ui/static/js/chunk-2d22ca58.fe58906c.js rel=prefetch><link href=/ui/static/js/chunk-2d2311f7.3c951f38.js rel=prefetch><link href=/ui/static/js/chunk-2d2371be.37f19019.js rel=prefetch><link href=/ui/static/js/chunk-2d237ee7.3cd1af21.js rel=prefetch><link href=/ui/static/js/chunk-2d238465.3860df71.js rel=prefetch><link href=/ui/static/js/chunk-7532b3ea.d6aa1a5e.js rel=prefetch><link href=/ui/static/css/app.b633f473.css rel=preload as=style><link href=/ui/static/css/chunk-vendors.7a869ba5.css rel=preload as=style><link href=/ui/static/js/app.b9e1586d.js rel=preload as=script><link href=/ui/static/js/chunk-vendors.730af083.js rel=preload as=script><link href=/ui/static/css/chunk-vendors.7a869ba5.css rel=stylesheet><link href=/ui/static/css/app.b633f473.css rel=stylesheet></head><body><noscript><strong>We're sorry but Lyrebird doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/ui/static/js/chunk-vendors.730af083.js></script><script src=/ui/static/js/app.b9e1586d.js></script></body></html>
1 change: 0 additions & 1 deletion lyrebird/client/static/js/app.11963e9a.js.map

This file was deleted.

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions lyrebird/client/static/js/app.b9e1586d.js.map

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions lyrebird/mock/blueprints/apis/flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ def get(self):
size=item['size'],
duration=item['duration'],
request=dict(
url=item['request']['url'],
path=item['request']['path'],
host=item['request']['host']
url=item['request'].get('url'),
path=item['request'].get('path'),
host=item['request'].get('host')
),
response=dict(
code=item['response']['code'],
Expand All @@ -44,7 +44,7 @@ def gen():
return context.make_streamed_response(gen)

def delete(self):
_ids = request.json['ids']
_ids = request.json.get('ids')
if _ids:
context.application.cache.delete_by_ids(*_ids)
else:
Expand Down
4 changes: 3 additions & 1 deletion lyrebird/mock/handlers/handler_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ def response(self):
@response.setter
def response(self, val):
self._response = val
self.update_server_resp_time()

_response = dict(
code=self._response.status_code,
headers={k:v for (k,v) in self._response.headers}
Expand Down Expand Up @@ -152,7 +154,7 @@ def update_server_resp_time(self):
flow=self.flow))

def get_origin_url(self):
return self.flow['request']['url']
return self.flow['request'].get('url')


class RequestDataHelper:
Expand Down
1 change: 0 additions & 1 deletion lyrebird/mock/handlers/mock_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ class MockHandler:
def handle(self, handler_context):
data = context.application.data_manager.router.get_mock_data(handler_context.flow)
if data:
handler_context.update_server_resp_time()
handler_context.response = self.data2response(data)

def data2response(self, data):
Expand Down
3 changes: 0 additions & 3 deletions lyrebird/mock/handlers/proxy_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,9 @@ def handle(self, handler_context):
resp_headers.append((name, value))

handler_context.request.url = origin_url

handler_context.update_server_resp_time()

# After huangyuanzhen test, we use 2048byte buffer :D
handler_context.response = Response(
stream_with_context(r.iter_content(chunk_size=2048)),
status=r.status_code,
headers=resp_headers)
handler_context.update_server_resp_time()
1 change: 1 addition & 0 deletions lyrebird/mock_data_formater.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ def update_data(data_dir, output_data_dir, old_group_conf=None):

def check_data_dir(data_root_path):
data_dir = Path(data_root_path)
data_dir.mkdir(exist_ok=True)
if (data_dir/NEW_INFO_FILENAME).exists():
return
# Move data dir for data format
Expand Down
2 changes: 1 addition & 1 deletion lyrebird/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
IVERSION = (1, 0, 0)
IVERSION = (1, 0, 1)
VERSION = ".".join(str(i) for i in IVERSION)
LYREBIRD = "Lyrebird " + VERSION

0 comments on commit f763b0a

Please sign in to comment.