12c593315Sopenharmony_ci#!/usr/bin/env python3
22c593315Sopenharmony_cifrom io import StringIO
32c593315Sopenharmony_ci
42c593315Sopenharmony_cifrom gentokenlookup import gentokenlookup
52c593315Sopenharmony_ci
62c593315Sopenharmony_ci# copied from llhttp.h, and stripped trailing spaces and backslashes.
72c593315Sopenharmony_ciSRC = '''
82c593315Sopenharmony_ci  XX(0, DELETE, DELETE)
92c593315Sopenharmony_ci  XX(1, GET, GET)
102c593315Sopenharmony_ci  XX(2, HEAD, HEAD)
112c593315Sopenharmony_ci  XX(3, POST, POST)
122c593315Sopenharmony_ci  XX(4, PUT, PUT)
132c593315Sopenharmony_ci  XX(5, CONNECT, CONNECT)
142c593315Sopenharmony_ci  XX(6, OPTIONS, OPTIONS)
152c593315Sopenharmony_ci  XX(7, TRACE, TRACE)
162c593315Sopenharmony_ci  XX(8, COPY, COPY)
172c593315Sopenharmony_ci  XX(9, LOCK, LOCK)
182c593315Sopenharmony_ci  XX(10, MKCOL, MKCOL)
192c593315Sopenharmony_ci  XX(11, MOVE, MOVE)
202c593315Sopenharmony_ci  XX(12, PROPFIND, PROPFIND)
212c593315Sopenharmony_ci  XX(13, PROPPATCH, PROPPATCH)
222c593315Sopenharmony_ci  XX(14, SEARCH, SEARCH)
232c593315Sopenharmony_ci  XX(15, UNLOCK, UNLOCK)
242c593315Sopenharmony_ci  XX(16, BIND, BIND)
252c593315Sopenharmony_ci  XX(17, REBIND, REBIND)
262c593315Sopenharmony_ci  XX(18, UNBIND, UNBIND)
272c593315Sopenharmony_ci  XX(19, ACL, ACL)
282c593315Sopenharmony_ci  XX(20, REPORT, REPORT)
292c593315Sopenharmony_ci  XX(21, MKACTIVITY, MKACTIVITY)
302c593315Sopenharmony_ci  XX(22, CHECKOUT, CHECKOUT)
312c593315Sopenharmony_ci  XX(23, MERGE, MERGE)
322c593315Sopenharmony_ci  XX(24, MSEARCH, M-SEARCH)
332c593315Sopenharmony_ci  XX(25, NOTIFY, NOTIFY)
342c593315Sopenharmony_ci  XX(26, SUBSCRIBE, SUBSCRIBE)
352c593315Sopenharmony_ci  XX(27, UNSUBSCRIBE, UNSUBSCRIBE)
362c593315Sopenharmony_ci  XX(28, PATCH, PATCH)
372c593315Sopenharmony_ci  XX(29, PURGE, PURGE)
382c593315Sopenharmony_ci  XX(30, MKCALENDAR, MKCALENDAR)
392c593315Sopenharmony_ci  XX(31, LINK, LINK)
402c593315Sopenharmony_ci  XX(32, UNLINK, UNLINK)
412c593315Sopenharmony_ci  XX(33, SOURCE, SOURCE)
422c593315Sopenharmony_ci'''
432c593315Sopenharmony_ci
442c593315Sopenharmony_ciif __name__ == '__main__':
452c593315Sopenharmony_ci    methods = []
462c593315Sopenharmony_ci    for line in StringIO(SRC):
472c593315Sopenharmony_ci        line = line.strip()
482c593315Sopenharmony_ci        if not line.startswith('XX'):
492c593315Sopenharmony_ci            continue
502c593315Sopenharmony_ci        _, m, _ = line.split(',', 2)
512c593315Sopenharmony_ci        methods.append(m.strip())
522c593315Sopenharmony_ci    gentokenlookup(methods, 'HTTP_')
53