# Pagelock

Want to password-protect an Express endpoint? Use Pagelock! When attempting to access a locked page, an "Enter code" page will show up, if you enter the code correctly, the page will be replaced with the file you specified.

<figure><img src="https://1533853801-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQO6kz0zi00Gb8s1C7jDL%2Fuploads%2FtQF9VJO4KQMxeMkCIr7U%2FScreen%20Shot%202022-07-09%20at%203.37.53%20PM.png?alt=media&#x26;token=456acfe7-26aa-4a7e-b73f-9e7c185938be" alt="Lock page"><figcaption><p>Default lock page</p></figcaption></figure>

### Install the package

```bash
npm i pagelock
```

### Initialize

{% code lineNumbers="true" %}

```javascript
const app = require("express")() 
const pagelock = require('pagelock')
const lock = pagelock('password', { config:"here" })

app.get('/*', lock, (req, res) => {
res.send('Hello World')
})

app.listen(3000)
```

{% endcode %}

### Arguments

| Name     | About              | Type   |
| -------- | ------------------ | ------ |
| password | Password           | String |
| config   | More details below | Object |

### Configuration

| Name          | About                                                                                                 | Type               |
| ------------- | ----------------------------------------------------------------------------------------------------- | ------------------ |
| espionageMode | Allow junk to be on either side of real code. (EX: Code is 1234, Pagelock will accept 555**1234**666) | Bool               |
| caseSensitive | If code needs to match case.                                                                          | Bool               |
| css           | Custom CSS                                                                                            | String (File path) |

### NPM Page

{% embed url="<https://npmjs.com/package/pagelock>" %}

### License

Pagelock is available under the MIT License
