| #!/usr/bin/env python |
| from __future__ import unicode_literals |
| from io import StringIO |
| |
| from gentokenlookup import gentokenlookup |
| |
| # copied from http-parser/http_parser.h, and stripped trailing spaces |
| # and backslashes. |
| SRC = ''' |
| XX(0, DELETE, DELETE) |
| XX(1, GET, GET) |
| XX(2, HEAD, HEAD) |
| XX(3, POST, POST) |
| XX(4, PUT, PUT) |
| /* pathological */ |
| XX(5, CONNECT, CONNECT) |
| XX(6, OPTIONS, OPTIONS) |
| XX(7, TRACE, TRACE) |
| /* webdav */ |
| XX(8, COPY, COPY) |
| XX(9, LOCK, LOCK) |
| XX(10, MKCOL, MKCOL) |
| XX(11, MOVE, MOVE) |
| XX(12, PROPFIND, PROPFIND) |
| XX(13, PROPPATCH, PROPPATCH) |
| XX(14, SEARCH, SEARCH) |
| XX(15, UNLOCK, UNLOCK) |
| /* subversion */ |
| XX(16, REPORT, REPORT) |
| XX(17, MKACTIVITY, MKACTIVITY) |
| XX(18, CHECKOUT, CHECKOUT) |
| XX(19, MERGE, MERGE) |
| /* upnp */ |
| XX(20, MSEARCH, M-SEARCH) |
| XX(21, NOTIFY, NOTIFY) |
| XX(22, SUBSCRIBE, SUBSCRIBE) |
| XX(23, UNSUBSCRIBE, UNSUBSCRIBE) |
| /* RFC-5789 */ |
| XX(24, PATCH, PATCH) |
| XX(25, PURGE, PURGE) |
| /* CalDAV */ |
| XX(26, MKCALENDAR, MKCALENDAR) |
| ''' |
| |
| if __name__ == '__main__': |
| methods = [] |
| for line in StringIO(SRC): |
| line = line.strip() |
| if not line.startswith('XX'): |
| continue |
| _, m, _ = line.split(',', 2) |
| methods.append(m.strip()) |
| gentokenlookup(methods, 'HTTP') |