diff --git a/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java b/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java index 7b30d7ef7..6f66c9959 100644 --- a/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java +++ b/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/FlipperOkhttpInterceptor.java @@ -228,10 +228,12 @@ public class FlipperOkhttpInterceptor if (TextUtils.isEmpty(requestUrl) || TextUtils.isEmpty(method)) { return null; } + final int statusCode = route.getInt("status"); final ResponseInfo mockResponse = new ResponseInfo(); mockResponse.body = data.getBytes(); mockResponse.statusCode = HttpURLConnection.HTTP_OK; + mockResponse.statusCode = statusCode; mockResponse.statusReason = "OK"; if (headersArray != null) { final List headers = new ArrayList<>(); diff --git a/desktop/plugins/network/MockResponseDetails.tsx b/desktop/plugins/network/MockResponseDetails.tsx index d800c4495..166e222d5 100644 --- a/desktop/plugins/network/MockResponseDetails.tsx +++ b/desktop/plugins/network/MockResponseDetails.tsx @@ -239,7 +239,7 @@ export function MockResponseDetails({id, route, isDuplicated}: Props) { ); const [nextHeaderId, setNextHeaderId] = useState(0); - const {requestUrl, requestMethod, responseData} = route; + const {requestUrl, requestMethod, responseData, responseStatus} = route; return ( @@ -264,6 +264,18 @@ export function MockResponseDetails({id, route, isDuplicated}: Props) { } /> + + + networkRouteManager.modifyRoute(id, { + responseStatus: event.target.value, + }) + } + /> + {isDuplicated && ( diff --git a/desktop/plugins/network/index.tsx b/desktop/plugins/network/index.tsx index 71d454e6e..871d13736 100644 --- a/desktop/plugins/network/index.tsx +++ b/desktop/plugins/network/index.tsx @@ -235,6 +235,7 @@ export default class extends FlipperPlugin { requestMethod: 'GET', responseData: '', responseHeaders: {}, + responseStatus: '200', }; draftState.nextRouteId = nextRouteId + 1; }), @@ -354,6 +355,7 @@ export default class extends FlipperPlugin { method: route.requestMethod, data: route.responseData, headers: [...Object.values(route.responseHeaders)], + status: route.responseStatus, })), }); } diff --git a/desktop/plugins/network/types.tsx b/desktop/plugins/network/types.tsx index 7622b539b..836af26eb 100644 --- a/desktop/plugins/network/types.tsx +++ b/desktop/plugins/network/types.tsx @@ -60,4 +60,5 @@ export type Route = { requestMethod: string; responseData: string; responseHeaders: {[id: string]: Header}; + responseStatus: string; };