Changes between Version 4 and Version 5 of HackageDB/2.0/Architecture
- Timestamp:
- 08/06/10 01:03:35 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
HackageDB/2.0/Architecture
v4 v5 126 126 At the very top, the Resource object is created, then GET/PUT methods are added 127 127 using record update notation. Both resourceGet and resourcePut expect a 128 [( !Content, !DynamicPath -> !ServerPart Response)] object, where the first argument128 [(Content, !DynamicPath -> !ServerPart Response)] object, where the first argument 129 129 is a content-type in case multiple formats are wanted. (See formats.) They 130 130 each return a text/plain response, so "txt" is used. … … 141 141 * Hooks. Hooks are generally called after an update happens, and they can take any number of arguments and run an IO action. They may call other Hooks in turn, but they shouldn't take too long. They are processed in sequence, and run in the reverse order of their adding. 142 142 * Filters are generally called before an update happens, with the ability to stop the event, or inject some value into it. They can also take any number of arguments, and return a typed IO result. They use the same internal representation as Hooks, but have more specific utility functions. 143 * Basic and digest authentication. This authenticates an access control list against the user database using a stateless approach.144 * Backup. One of the more complicated backup types is RestoreBackup, which each feature wanting to import data should implement. (explain)143 * Basic and digest authentication. This authenticates an access control list against the user database using stateless HTTP. 144 * Backup. One of the more complicated backup types is !RestoreBackup, which each feature wanting to import data should implement. (explain) 145 145 146 146 == Core Hackage types ==
