Question: If I have 

```
protocol AppearingTextContainer {
  func clipBounds() -> ()
}
extension AppearingTextContainer where Self: UIView {
  func clipBounds() { self.clipsToBounds = true }
}

```

then a class that adopts my protocol CustomView: AppearingTextContainer is not forced by the compiler to implement clipBounds. If I remove the extension it won't compile. Is there any way to enforce CustomView to call clipBounds without having to delete the default clipBounds implementation?

Thanks

Answer: 
`status()` sets a HTTP status on the response (as a Javascript object on the server side).

`sendStatus()` sets the status *and* sends it to the client.

The usage doesn't depend on the HTTP method of the request. In most cases you would use `sendStatus` anyway since it's unlikely that the status changes once the request is processed (especially since status code is the first line in a raw HTTP response).

Read more in the docs:

<https://expressjs.com/en/4x/api.html#res.sendStatus>
As *freakish* already pointed out, `sendStatus` sets and sends the status.

This means that if you want to both set a status and send a body you have to use `status`. For example, you want to set an error status, and send a body with a JSON that explains why the error occured, you first have to set the status (using `status`), and then send the JSON (using `send`). If you had already set the status with `sendStatus`, it is no longer possible to send the JSON, because you already used a form of sent.