75 lines
1.5 KiB
Smalltalk
75 lines
1.5 KiB
Smalltalk
Class {
|
|
#name : #MiniDocsServer,
|
|
#superclass : #TLWebserver,
|
|
#instVars : [
|
|
'storage'
|
|
],
|
|
#classInstVars : [
|
|
'singleton'
|
|
],
|
|
#category : #'MiniDocs-Core'
|
|
}
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer class >> build [
|
|
TLRESTAPIBuilder buildAPI.
|
|
self start
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer class >> defaultConfiguration [
|
|
"Override to set more default values"
|
|
^ {
|
|
#port -> 1701
|
|
}
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer class >> listLepiterDocs: aRequest [
|
|
<REST_API: 'GET' pattern: 'lepiter'>
|
|
^ 'A list of Mardeep exported Lepiter docs will appear soon...'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer class >> restart [
|
|
Teapot stopAll.
|
|
self build.
|
|
^ self start
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer class >> singleton [
|
|
^ singleton ifNil: [ singleton := MiniDocsServer teapot ]
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer >> addStorage: anObject [
|
|
self storage add: anObject.
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer >> initRoutes [
|
|
self storage: FileLocator documents / 'lepiter' / 'default'.
|
|
self teapot
|
|
serveStatic: '/lepiter/doc' from: self storage fullName.
|
|
self teapot
|
|
GET: '/lepiter' -> 'A list of Mardeep exported Lepiter docs will appear soon...'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer >> start [
|
|
self class defaultPort: 1701.
|
|
self initRoutes.
|
|
super start.
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer >> storage [
|
|
^ storage
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
MiniDocsServer >> storage: aFoldersOrderedCollection [
|
|
storage := aFoldersOrderedCollection
|
|
]
|