The returned status code in different scenarios

   allowed  preflight  response  | status |
   -------  ---------  --------  | ------ |
 1      no          x       400  |      0 |
 2      no        200         x  |      0 |
 3     yes          x       400  |    400 |
 4     yes        200       400  |    400 |
 5     yes        400         x  |      0 |