Static documents like images or cascading stylesheets can be stored inside a repository object inside the image. They can be delivered via
processHttpRequest: aRequest
(aRequest url endsWithAnyOf: #('.gif' '.jpg' '.htm' '.html' '.css'))
ifTrue: [
| img |
img := StaticDocumentsRepository at: aRequest url allButFirst ifAbsent: [^ nil] .
^HttpResponse fromStream: img readStream contentType: ''].
^self process: aRequest
inside a WAKom subclass. The methods
loadStaticDocuments
Smalltalk at: #StaticDocumentsRepository put: Dictionary new.
(FileDirectory on: (FileDirectory default fullPathFor: 'resources'))
fileNames do: [:fileName |
self loadStaticDocument: fileName]
loadStaticDocument: fileName
| path |
path := (FileDirectory default fullPathFor: 'resources') , FileDirectory slash , fileName.
StaticDocumentsRepository
at: fileName
put: (FileStream readOnlyFileNamed: path) binary contentsOfEntireFile
load them into the repository.
