| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* tekuti/mod-lisp.scm (mod-lisp-read): Like the http impl, just setvbuf
once, and don't throw away data (!).
|
|
|
|
| |
* tekuti/cache.scm (make-entry): Fix time comparisons.
|
|
|
|
|
| |
* tekuti/page.scm (page-feed-atom): Also set etag on 304 responses
here.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/cache.scm (update-cache): Expand cache size back to 20.
(cached-response-and-body, make-entry): Entries are now procedures
that return the cached pair. They also have some more smarts regarding
etags, last-modified, and conditional requests.
* tekuti/page-helpers.scm (respond): Add etag arg. Set a date.
* tekuti/page.scm: Set etags on a number of pages.
|
|
|
|
|
| |
* tekuti/mod-lisp.scm (mod-lisp-read): Close the port if there is an
error reading the request.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/cache.scm: Update with more structure. Use take-max, not
list-head. Only cache cacheable request-response pairs.
* tekuti/index.scm: Add cache as index entry. Also return the index ref
within the index itself, instead of at the head.
* tekuti/web.scm: Don't pass cache around, it's part of the index
now. Adapt to new API.
|
|
|
|
|
| |
* tekuti/cache.scm: Simpler LRU algorithm for the cache. Conses more,
but throws away the cache less.
|
|
|
|
|
| |
* tekuti/mod-lisp.scm (read-request/mod-lisp): Set port's encoding to
latin-1, so that we reading one char reads one byte.
|
|
|
|
| |
* tekuti/web.scm: Use the cache.
|
|
|
|
| |
* tekuti/cache.scm: Add a simple cache.
|
|
|
|
|
| |
* tekuti/git.scm (run): Use get-bytevector-all instead of
read-delimited.
|
|
|
|
|
|
| |
* tekuti/mod-lisp.scm: Update to use the poll set, do the right thing
for SIGPIPE, etc, following http.scm. Maybe now it will actually be
reliable.
|
|
|
|
| |
* src/tekuti: Change to be a shell script.
|
|
|
|
|
|
| |
* src/tekuti: Use sh, not bash.
* tekuti/boot.scm (boot): Doh, actually set the locale.
|
|
|
|
| |
* src/tekuti: Fix bug processing command-line args.
|
|
|
|
|
|
| |
* tekuti/mod-lisp.scm (url, read-request/mod-lisp)a
(write-headers/mod-lisp, write-response/mod-lisp): Fix a number of
mod-lisp bugs.
|
|
|
|
| |
* tekuti/request.scm (request-form-data): Fix content-type check.
|
|
|
|
|
| |
* tekuti/page-helpers.scm (respond): Don't display a doctype if we
aren't given one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/config.scm (*public-host*, *public-port*)
(*private-host*, *private-port*): Use these instead of *host* and the
recently removed *port*. A web app needs to know its public address,
and the private ports are part of its config.
(*server-impl-args*): Redefine as a thunk to delay the dereferencing
of config parameters like *private-host*.
* tekuti/page-helpers.scm (ensure-public-uri): New helper, uses the new
conf vars to ensure that a value is a URI.
(build-headers): New helper, like the old acons* without consing a
rest list.
(respond): Use the two new helpers.
(atom-header, atom-entry): No need for server-name arg, as we know how
to make a public URI.
* tekuti/page.scm (page-feed-atom): Adapt to no need to guess at the
server-name.
* tekuti/web.scm (main-loop): Allow *server-impl-args* to be a thunk.
|
|
|
|
|
| |
* tekuti/util.scm (expanduser): Use passwd:name accessor, and geteuid as
cuserid did.
|
|
|
|
|
|
|
|
| |
`cuserid'.
* tekuti/util.scm (expanduser): Use the user id to fetch the
username from the /etc/passwd file, so that the username is
not chopped at eight characters.
|
|
|
|
|
|
|
|
| |
database layout.
* wordpress_to_dir.py (all_posts): select only published posts.
(post_categories): get the post category based on the new set
of tables wp_terms, wp_term_relationships and wp_term_taxonomy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change to use (web server) instead of our own loop. This also means that
requests are request objects from (web request), and responses are from
(web response).
* tekuti/boot.scm (boot): Run the main loop from (tekuti web).
* tekuti/config.scm (*port*, *backlog*, *public-url-base*)
(*private-url-base*): Remove extraneous config vars.
* tekuti/mod-lisp.scm: Rewrite to be a (web server) server-impl. Not
tested very well.
* tekuti/page-helpers.scm (respond): New procedure, now the primary way
to respond to a request.
(relurl, rellink): Take path components as a list, and encode the
parts when making the resulting URL. All callers changed.
* tekuti/page.scm: Change all handlers to take an additional `body'
argument, to respond using `respond', and to use the new `relurl' /
`rellink' protocol.
* tekuti/request.scm: Eviscerate, leaving only pieces that deal in
request objects from `(web request)'.
* tekuti/web.scm: Update to use (weeb server).
|
|
|
|
| |
* tekuti/tags.scm (tag-link): Use (web uri).
|
|
|
|
|
| |
* tekuti/template.scm (templatize): Use define* and keyword args instead
of taking a "request" object. Use (web uri) for URI work.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/config.scm (*private-url-base*, *public-url-base*): Change to
"/", so that we can serve HTTP directly without having a fetch to
e.g. "/foo.css" cause an error. A silly reason, I know.
(*public-path-base*, *private-path-base*): New vars, containing lists
of path components corresponding to their "url" variants above. We are
switching to this, as future commits will show.
(*server-impl*, *server-impl-args*): New vars, will be used by the new
(web server) main loop.
|
|
|
|
|
| |
* tekuti/util.scm: Remove with-backtrace definition. Add date->timestamp
definition.
|
|
|
|
|
|
|
| |
* tekuti/index.scm (reindex): Don't use with-backtrace, that's not how I
want to roll, debugging-wise.
* tekuti/post.scm (post-sxml-content): Same
|
|
|
|
|
| |
* tekuti/git.scm (git-update-ref, patch-blob, munge-tree1-recursive):
Fix various errors caught by the compiler.
|
|
|
|
|
| |
* src/tekuti: Change to use an implicit `-s', so a control-c causes an
exit rather than dropping us into a repl.
|
|
|
|
|
| |
* Makefile.am (GUILE_WARNINGS): Use compile warnings when compiling
tekuti.
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/git.scm (with-output-to-blob, with-input-from-blob): Use
hygienic macros.
* tekuti/match-bind.scm (match-bind): Add a check that the pattern is a
literal string.
* tekuti/util.scm (match-lines): Fix port from defmacro.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .gitignore:
* AUTHORS:
* COPYING:
* ChangeLog:
* Makefile.am:
* NEWS:
* README:
* acinclude.m4:
* configure.ac:
* env.in: All the needed bits.
|
|
|
|
| |
* tekuti/request.scm (let-request): Move definition up.
|
|
|
|
|
| |
* tekuti/util.scm (unwind-protect): Move definition up.
(with-backtrace*): Update to backtrace in the throw handler.
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/git.scm (git*):
* tekuti/request.scm (rref):
* tekuti/util.scm (date-increment): Use define* instead of
define/kwargs. Remove (scheme kwargs) import.
* tekuti/page-helpers.scm (tekuti):
* tekuti/page.scm (tekuti): Remove needless (scheme kwargs) imports.
|
|
|
|
|
|
|
|
|
| |
* tekuti/comment.scm:
* tekuti/filters.scm:
* tekuti/git.scm:
* tekuti/post.scm:
* tekuti/request.scm:
* tekuti/util.scm: Update to use (tekuti match-bind).
|
|
|
|
| |
* tekuti/match-bind.scm: Import from guile-lib.
|
|
|
|
|
| |
* tekuti/config.scm: Use the new define-parsed-entity! to define the
character entities.
|
|
|
|
|
| |
* tekuti/boot.scm (boot): Call (setlocale LC_ALL) to pull in locale
settings from the environment.
|
|
|
|
|
|
|
| |
* tekuti/boot.scm (*option-grammar*): Remove repl and gds args, replaced
by `listen'.
(parse-options): `listen' causes tekuti to spawn a repl server.
(boot): No more repl option; we always sit down into the event-loop.
|
|
|
|
|
|
|
| |
* tekuti/base64.scm (bytevector-map-n-to-m): Use multiple values.
(base64-encode): Inline the map-3-to-4 definition, and use multiple
values.
(base64-decode): Likewise, with map-4-to-3.
|
|
|
|
|
|
|
|
| |
* tekuti/base64.scm: Port to (rnrs bytevectors). All the real work was
done by Andreas Rottmann.
* tekuti/request.scm (request-authenticated?): Run the decoded user name
and password bytevector through utf8->string.
|
|
|
|
| |
This reverts commit 8a8e0fadae12cbacaf8474b09c16ee8c01ebfe26.
|
|
|
|
|
|
|
| |
with current git
Apparently, at least git 1.7.2.3 ls-files does not understand the
SHA1:filename syntax anymore.
|
| |
|
|
|
|
| |
and `syntax-case'
|
|
|
|
| |
posts yet
|
|
|
|
| |
HTTP headers are expected to be treated case-insensitively.
|
|
|
|
|
|
|
|
|
|
|
| |
* tekuti/boot.scm (boot): Add config option, a file evaluated inside
(tekuti config).
* tekuti/config.scm: Add *css-file*, *navbar-links*, *navbar-infix*.
Change default admin pass.
* tekuti/template.scm (templatize): Make the default template less
wingo-specific.
|