Question: If the user inputs "search" and "for" in the userinput i want it to return "search and for both have been input"

however, if the user inputs "search" and "information" in the userinput i want it to return "search and information both have been input"

The problem is, if the user inputs "search information", then python identifies the "for" in "information" and returns "search and for have been input"//. which is not what i want!

What to do?

Have a look at this image for understanding the problem described:
![blah](https://i.stack.imgur.com/0d7KT.png)

Answer: 
2019 update: `server.router.routes` is no longer available instead we have `server.router.getRoutes()` which returns a Map. So we can log all the routes using:

```
function listAllRoutes(server) {
  Object.values(server.router.getRoutes()).forEach(value =>
    console.log(
      `ENDPOINT REGISTERED :: ${value.method} :: ${server.url}${value.path}`
    )
  );
}

```

<http://restify.com/docs/server-api/#server>
There is a `router.getRoutes()` method, but it returns an object which is not the best to work with for listing things. You could fiddle around with that to turn it into an array with the shape that you like. 

Alternatively, you can access all the routes as an array and then map them, even better if you use a lib like `better-console` to give you `console.table` in node. The following is working nicely for me in `restify@8.3.0`:

```
import console from 'better-console';

function listRoutes(server) {
  const { routes } = server.router._registry._findMyWay; // beware these are probably meant to be private APIs, they could be subject to change
  const mapped = routes.map(({ method, path }) => ({ method, path }));

  console.table(mapped.sort((a, b) => a.method > b.method));
}

```