33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
|
# NodeName-Core
|
||
|
This repository is part of the NodeName Project, a simple to use and very flexible Nameserver implementation for NodeJS.
|
||
|
|
||
|
## What does this NodeName-Core contain?
|
||
|
|
||
|
NodeName-Core is responsible for several things:
|
||
|
|
||
|
- parsing incoming DNS requests
|
||
|
- serializing outgoing answers
|
||
|
- providing storage backend API definition
|
||
|
|
||
|
## API
|
||
|
|
||
|
``` JavaScript
|
||
|
const Core = new DnsCore();
|
||
|
Core.addStorage(new AnyStoragePlugin(options), timeout?);
|
||
|
// One or multiple storage plugins
|
||
|
// All Storage engines are requested at the same time all their results will be processed
|
||
|
// Optionally an timeout can be defined after wich this storage engine will be ignored
|
||
|
// If no others answer an error is returned in Response
|
||
|
|
||
|
Core.addMonitoring(new MonitoringPlugin(options));
|
||
|
// Async called Monmitoring plugin.
|
||
|
|
||
|
Core.addListener(new ListenetPlugin(options));
|
||
|
|
||
|
// The question plugin can handle on or more Questions and needs to
|
||
|
// make shure, that it creates the desired output. It is responsible
|
||
|
// for handeling the question and optionally add additional questions
|
||
|
// to be resolved.
|
||
|
Core.addQuestionHandler(new QuestionPlugin(options));
|
||
|
```
|