Commit Graph

53 Commits

Author SHA1 Message Date
479ef2b786
match on package substring
This allows godoc.org to work on nested packages. As it stood gddo would
fail trying to find nested packages. Let's say we have a vaind with this
route:

go.mcquay.me/vain -> https://s.mcquay.me/sm/vain

Asking godoc for go.mcquay.me/vain would work fine. However trying to
get documentation for go.mcquay.me/vain/errors (nested package) would
return 404 since it wouldn't match known paths exactly.

Since now we match and return "go.mcquay.me/vain" for the full path,
gddo is able to use local caches for its information.

Change-Id: I599a75898493734fc652e507f477c11b1b1b13e8
2016-06-28 21:52:26 -07:00
073ad38bc0
update readme
Change-Id: I6069e8138202d98b784f6a2ed56881b97e86f0de
2016-06-25 14:17:40 -07:00
aa1ef99295
added metrics
Change-Id: I7727bd43911339f48e2d096f8bb43729eb65b3ad
2016-06-25 13:41:20 -07:00
1a056c1aff
clean up docs
I don't know if it's as meaningful to have verbose docs where when you
can just run the server and see the docs on the front page.

Change-Id: I9245044a95b5c0e100e14c718cdc99f560dfa3a5
2016-06-25 13:41:19 -07:00
c575677088
Use in-memory, on-disk-backed DB
- removed sqlite
- added stubs for MemDB
- removed sqlite3 vendor

Fixes #7

Change-Id: I97b7f274be8db5ff02d9a4e4b8f616403fd6313a
2016-06-25 13:37:23 -07:00
9d3ce56e26
Added storer interface
Change-Id: I747bec339bdda26f0f68b24956912467ff67695d
2016-06-24 01:04:33 -07:00
99cdbf1847
Simplify some SQL
Change-Id: I0ea64662c90f948cd61bb1db855c139fa1be8a9e
2016-06-24 01:04:33 -07:00
45c0af4d1e
Better error reporting
Change-Id: I36dc5ad3648c5b4ac2cc2c72ba90fec7398090bf
2016-06-24 01:04:33 -07:00
639d82ac7b
Ignore compiled tests
Change-Id: I68146d8961ff5d5d0d61565b2e5e76e5376aeaf6
2016-06-24 01:04:32 -07:00
ffbc60d017
fix vexing random test failures
so if it started with an e it'd fail. which is 1/16 of the time.

Change-Id: I253c8a34b6d34de59bf82a31df45b0bbe75529d3
2016-06-24 01:04:32 -07:00
b1d8ad5a6f
fix for bad header value
Go tool brought in changes that properly implement:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

merged in here:
https://go-review.googlesource.com/#/c/23229/

This surfaced a bad http header value in our tests.

Change-Id: I2c507bb4c92b060c78a7909600649dae2d22515d
2016-06-17 09:15:09 -07:00
1bceefffb0
Add an env subcommand
Change-Id: I79fb0897fe87a0598e90bf652570e4a9ae5e6dce
2016-06-15 02:35:56 -07:00
480304bd87
add support for sending emails
Change-Id: I9749cda3b997d70271cb4ca709a7cca82a9a0948
2016-06-10 12:57:41 -07:00
227eb4a551
relax validity tests to break on slash
Change-Id: I1578a0aa77ee1fc957bb9a93690ed92633d3a65a
2016-06-05 22:41:57 -07:00
295a7c3840
Only return the meta for requested package
the go tool currenty has a pathology where it mistakingly claims it
can't clone a repo because it checks prefix by bytes, not by splitting
the path on slash.

Once https://github.com/golang/go/issues/15947 comes out (go1.8) then go
tools will be able to handle being provided with valid but overlapping
packages.

For now though we'll just return meta for the requested package.

Change-Id: Ie5026e7d5c1377ff7d2c2140b21f9b745af69764
2016-06-05 22:41:56 -07:00
5458745af9
move static into own package
Change-Id: I8be408f295aa377a0a0c2879420f501ba0dadf5e
2016-06-05 22:41:56 -07:00
4fb9e35a17
vendor deps
Change-Id: Ia5385cbe6b9d6c9ad6065b7d2c402ebe164246d0
2016-06-04 10:47:26 -07:00
435e28966a
fixed golint/go vet
Change-Id: Id8aa01511f459d45f9dc3270e1d13b8682944016
2016-05-23 23:54:35 -07:00
f69efc8f36
added contribution guidelines
Change-Id: I21106402f0b5951a30ae35f130be8ee656e6ec2f
2016-05-23 22:45:36 -07:00
48d723a582
Fix error reporting on registration.
- fleshed out documentation (fixing #30)
- added forgot page
2016-05-22 23:10:51 -07:00
c99f57527f
gate forget email frequency.
Change-Id: Id0f3bd2ec7c6714d23f9989a341855da5c8aa1bf
2016-05-14 23:58:56 -07:00
11f88feef0
Added frontend.
Change-Id: I8efe591dcd693c99ffdbe953415d8b05c02a3644
2016-05-14 20:14:24 -07:00
adcc05ea3a
validate email on register/forgot
Fixes #21.

Change-Id: I21bfd87d6fd730e8a90ceec77c9b23a90bc397e9
2016-04-27 21:30:35 -07:00
cce3166bdd
Add TLS support
Fixes #20.

Change-Id: I9c6b4ff3195f05e8a3c17d6704ee06b1f77db562
2016-04-27 21:30:18 -07:00
680eecb111
Added simple user auth
Fixes #14.

Change-Id: I748933214f43ac7298f1e93c14bb0ee881976d43
2016-04-27 21:29:48 -07:00
753a225f53 add some verbiage to body.
Change-Id: I1c6e6f61bcc23b9777e8bef140c5488bafe248f9
2016-03-02 22:07:06 -08:00
5de44ba4d6 tighter constraints on allowed paths.
Change-Id: Ie6b121e4733e45288a36dbc2426f556fd5e2832d
2016-03-02 22:06:17 -08:00
73438f2420 added DELETE api to docs.
Change-Id: I9f2feae126e0ce406c310b52a2b501fcb764e56a
2016-03-02 00:06:12 -08:00
20da49f37f renamed SimpleStore receiver.
Fixes #12

Change-Id: If22752568e38843be48f25d9126dd9fd4d81c076
2016-03-01 23:51:29 -08:00
2e4add8a1c Adds DELETE.
Fixes #11

Change-Id: I3b4aadc85055f2d2f4efb9e2e95bde6924320f35
2016-03-01 23:50:08 -08:00
ce00d933aa vcs as string, not int.
No longer do we keep track of const iota style. Just encode the behavior
in the server for defaults, add a validation function, call it a day.

Change-Id: I603e9dd287a57084c78c543f1ce83b0acf47a765
2016-03-01 23:49:24 -08:00
a1f6e15f28 ysvd -> vaind 2016-02-16 23:30:00 -08:00
sm
cc8e0914b8 Merge branch 'master' of dm/vain into master 2016-02-16 23:23:16 -08:00
501631a45a Don't require user to set YSV_HOST
The original reason for having this required configuration parameter was that
I didn't think to read the hostname off the request. Doing it this way has the
additional benefit of a single server being able to serve a multitude of
hostnames.

Derek helped me realize this by repeating "there should be sane defaults" like
9000 times (maybe over 9000) till I got so tired of trying to make sure that he
understood why I did it that way to begin with that I looked at the problem
from a different perspective and like in a dream the solution came to me.

fixes #10.
2016-02-16 23:22:33 -08:00
2b96b761d1 POST translate string -> vain.Vcs 2016-02-16 20:06:44 -08:00
sm
bb48f82f9e Merge branch 'master' of dm/vain into master 2016-02-16 18:36:16 -08:00
c2597fd41a added vcs support for svn and bzr 2016-02-16 18:32:04 -08:00
456d502b72 added some tests for the json storage. 2016-02-15 01:42:20 -08:00
9e9bb74c4a Addressing go vet / golint 2016-02-15 01:10:49 -08:00
c5c1dbc4a9 fleshed out where documentation is stored. 2016-02-15 01:09:11 -08:00
83f08830b9 fixed struct tag misspelling. 2016-02-14 22:20:30 -08:00
4cfaf2124f Added Save/Load to db
Fixes #3. Fixes #2
2016-02-14 22:20:10 -08:00
af4faf0206 Added http tests for conflicts
fixes #4.
2016-02-14 21:54:42 -08:00
3644ddcd86 updated docs to match reality. 2016-02-14 21:46:12 -08:00
c63a62ab2a added initial http test. 2016-02-14 21:44:27 -08:00
557717c138 Prevent addition of duplicate path prefixes.
I think I understand this now; the failure comes from here:

https://golang.org/src/cmd/go/vcs.go#L818

and makes it so one can't both host:
- github.com/foo
- github.com/foo/bar

which would have to clone the latter inside of the former.

Fixes #1.
2016-02-13 10:46:09 -08:00
b0ebbf742b simple in-memory storage working for POST/GET 2016-02-13 01:18:18 -08:00
c1b5f61b64 stubbed out supported methods on / 2016-02-13 00:17:12 -08:00
158ef57b13 bit more docs 2016-02-13 00:17:12 -08:00
b7ef100a2c moved ysv -> vain 2016-02-13 00:17:12 -08:00