ceylon/ceylon-module-resolver — Issue #18: Make fewer HTTP requests with DAV
Author: FroMage
Created: 2012-02-27 15:03:02+00:00
State: open

Right now compiling `helloworld` over DAV produces the following HTTP calls:

```

15:59:46,283 INFO ~ [null] HEAD /uploads/53/repo//com
15:59:46,303 INFO ~ [null] HEAD /uploads/53/repo//com
15:59:46,303 INFO ~ Try auth
15:59:46,305 INFO ~ OK
15:59:46,321 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
15:59:46,336 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
15:59:46,351 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:47,254 INFO ~ [FroMage] HEAD /uploads/53/repo/
15:59:47,263 INFO ~ [FroMage] HEAD /uploads/53/repo//com
15:59:47,273 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
15:59:47,283 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
15:59:47,292 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:47,304 INFO ~ [FroMage] MKCOL /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:47,407 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:47,433 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:47,443 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:49,459 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/com.acme.helloworld-1.0.0.src
15:59:49,471 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:49,481 INFO ~ [FroMage] HEAD /uploads/53/repo/
15:59:49,495 INFO ~ [FroMage] HEAD /uploads/53/repo//com
15:59:49,506 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
15:59:49,520 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
15:59:49,534 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:49,549 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:49,561 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:51,577 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0com.acme.helloworld-1.0.0.src.sha1
15:59:51,589 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:51,606 INFO ~ [FroMage] HEAD /uploads/53/repo/
15:59:51,622 INFO ~ [FroMage] HEAD /uploads/53/repo//com
15:59:51,637 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
15:59:51,655 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
15:59:51,673 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:51,689 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:51,703 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:53,720 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0com.acme.helloworld-1.0.0.car
15:59:53,731 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:53,741 INFO ~ [FroMage] HEAD /uploads/53/repo/
15:59:53,757 INFO ~ [FroMage] HEAD /uploads/53/repo//com
15:59:53,772 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
15:59:53,788 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
15:59:53,805 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:53,820 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:53,832 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0
15:59:55,847 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0com.acme.helloworld-1.0.0.car.sha1
15:59:55,860 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0
```

And for documentation of `helloworld`:

```
16:01:28,643 INFO ~ [null] HEAD /uploads/53/repo//com
16:01:28,667 INFO ~ [null] HEAD /uploads/53/repo//com
16:01:28,667 INFO ~ Try auth
16:01:28,669 INFO ~ OK
16:01:28,686 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:28,702 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:28,720 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:28,736 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:28,753 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:28,762 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:28,772 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:28,783 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:28,795 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:28,808 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:28,820 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:28,829 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:28,841 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:28,855 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:28,867 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:28,878 INFO ~ [FroMage] MKCOL /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:28,994 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:29,017 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:29,029 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:31,044 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc/NOTICE.txt
16:01:31,056 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:31,066 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:31,084 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:31,094 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:31,108 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:31,123 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:31,135 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:31,146 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:31,154 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,169 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-docindex.html
16:01:33,181 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,189 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:33,206 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:33,221 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:33,237 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:33,257 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:33,276 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,291 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:33,306 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:33,321 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:33,336 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:33,353 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:33,370 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,385 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,396 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:33,415 INFO ~ [FroMage] MKCOL /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:33,425 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,438 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:33,450 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,462 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:33,474 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:33,491 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:35,504 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources/icons.png
16:01:35,516 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:35,525 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:35,540 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:35,556 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:35,573 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:35,591 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:35,609 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:35,625 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:35,638 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:35,656 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:35,669 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:35,680 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:35,693 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:37,711 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesshThemeDefault.css
16:01:37,723 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:37,732 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:37,748 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:37,762 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:37,779 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:37,796 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:37,817 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:37,832 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:37,845 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:37,860 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:37,872 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:37,884 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:37,895 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:39,909 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesstyle.css
16:01:39,916 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:39,923 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:39,933 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:39,945 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:39,955 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:39,965 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:39,977 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:39,987 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:39,995 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:40,005 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:40,016 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:40,023 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:40,033 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:42,045 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesshCore.css
16:01:42,056 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:42,067 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:42,083 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:42,098 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:42,113 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:42,130 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:42,150 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:42,165 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:42,177 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:42,192 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:42,204 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:42,216 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:42,228 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:44,243 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesshCore.js
16:01:44,254 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:44,263 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:44,278 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:44,294 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:44,308 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:44,327 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:44,340 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:44,351 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:44,359 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:44,368 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:44,378 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:44,386 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:44,395 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:46,408 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesindex.js
16:01:46,425 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:46,434 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:46,450 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:46,465 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:46,480 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:46,497 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:46,517 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:46,532 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:46,544 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:46,559 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:46,573 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:46,584 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:46,595 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:48,608 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesshBrushCeylon.js
16:01:48,619 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:48,628 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:48,642 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:48,657 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:48,672 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:48,689 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:48,710 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:48,725 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:48,736 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:48,746 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:48,754 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:48,760 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:48,767 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:50,785 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesjquery-1.7.min.js
16:01:50,796 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:50,805 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:50,820 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:50,835 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:50,849 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:50,864 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:50,885 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:50,894 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:50,902 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:50,911 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:50,919 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:50,926 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:50,933 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:52,943 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resourcesceylond.js
16:01:52,954 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc.resources
16:01:52,963 INFO ~ [FroMage] HEAD /uploads/53/repo/
16:01:52,975 INFO ~ [FroMage] HEAD /uploads/53/repo//com
16:01:52,986 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme
16:01:52,995 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld
16:01:53,009 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0
16:01:53,026 INFO ~ [FroMage] HEAD /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:53,040 INFO ~ [FroMage] LOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:53,048 INFO ~ [FroMage] PROPFIND /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
16:01:55,059 INFO ~ [FroMage] PUT /uploads/53/repo//com/acme/helloworld/1.0.0/module-docsearch.html
16:01:55,066 INFO ~ [FroMage] UNLOCK /uploads/53/repo//com/acme/helloworld/1.0.0/module-doc
```

Surely we can cache a bit of info to do better :)