summaryrefslogtreecommitdiffstats
path: root/google_appengine/google/appengine/ext/webapp/util.pyc
blob: 8e617dc17504cb115762e695725323f2335c7357 (plain)
ofshex dumpascii
0000 d1 f2 0d 0a 1d 08 a0 4a 63 00 00 00 00 00 00 00 00 07 00 00 00 40 00 00 00 73 78 00 00 00 64 00 .......Jc............@...sx...d.
0020 00 5a 00 00 64 01 00 64 02 00 67 02 00 5a 01 00 64 03 00 64 04 00 6b 02 00 5a 02 00 64 03 00 64 .Z..d..d..g..Z..d..d..k..Z..d..d
0040 04 00 6b 03 00 5a 03 00 64 03 00 64 04 00 6b 04 00 5a 05 00 64 03 00 64 05 00 6b 06 00 6c 07 00 ..k..Z..d..d..k..Z..d..d..k..l..
0060 5a 07 00 01 64 03 00 64 06 00 6b 08 00 6c 09 00 5a 09 00 01 64 07 00 84 00 00 5a 0a 00 64 08 00 Z...d..d..k..l..Z...d.....Z..d..
0080 84 00 00 5a 0b 00 64 04 00 64 09 00 84 01 00 5a 0d 00 64 04 00 53 28 0a 00 00 00 73 2d 00 00 00 ...Z..d..d.....Z..d..S(....s-...
00a0 43 6f 6e 76 69 65 6e 63 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 57 65 62 61 Convience.functions.for.the.Weba
00c0 70 70 20 66 72 61 6d 65 77 6f 72 6b 2e 74 0e 00 00 00 6c 6f 67 69 6e 5f 72 65 71 75 69 72 65 64 pp.framework.t....login_required
00e0 74 0c 00 00 00 72 75 6e 5f 77 73 67 69 5f 61 70 70 69 ff ff ff ff 4e 28 01 00 00 00 74 05 00 00 t....run_wsgi_appi....N(....t...
0100 00 75 73 65 72 73 28 01 00 00 00 74 06 00 00 00 77 65 62 61 70 70 63 01 00 00 00 02 00 00 00 02 .users(....t....webappc.........
0120 00 00 00 03 00 00 00 73 13 00 00 00 87 00 00 66 01 00 64 01 00 86 00 00 7d 01 00 7c 01 00 53 28 .......s.......f..d.....}..|..S(
0140 02 00 00 00 73 d5 01 00 00 41 20 64 65 63 6f 72 61 74 6f 72 20 74 6f 20 72 65 71 75 69 72 65 20 ....s....A.decorator.to.require.
0160 74 68 61 74 20 61 20 75 73 65 72 20 62 65 20 6c 6f 67 67 65 64 20 69 6e 20 74 6f 20 61 63 63 65 that.a.user.be.logged.in.to.acce
0180 73 73 20 61 20 68 61 6e 64 6c 65 72 2e 0a 0a 20 20 54 6f 20 75 73 65 20 69 74 2c 20 64 65 63 6f ss.a.handler.....To.use.it,.deco
01a0 72 61 74 65 20 79 6f 75 72 20 67 65 74 28 29 20 6d 65 74 68 6f 64 20 6c 69 6b 65 20 74 68 69 73 rate.your.get().method.like.this
01c0 3a 0a 0a 20 20 20 20 40 6c 6f 67 69 6e 5f 72 65 71 75 69 72 65 64 0a 20 20 20 20 64 65 66 20 67 :......@login_required.....def.g
01e0 65 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 75 73 65 72 20 3d 20 75 73 65 72 73 2e 67 65 74 et(self):.......user.=.users.get
0200 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 73 65 6c 66 29 0a 20 20 20 20 20 20 73 65 6c 66 2e 72 _current_user(self).......self.r
0220 65 73 70 6f 6e 73 65 2e 6f 75 74 2e 77 72 69 74 65 28 27 48 65 6c 6c 6f 2c 20 27 20 2b 20 75 73 esponse.out.write('Hello,.'.+.us
0240 65 72 2e 6e 69 63 6b 6e 61 6d 65 28 29 29 0a 0a 20 20 57 65 20 77 69 6c 6c 20 72 65 64 69 72 65 er.nickname())....We.will.redire
0260 63 74 20 74 6f 20 61 20 6c 6f 67 69 6e 20 70 61 67 65 20 69 66 20 74 68 65 20 75 73 65 72 20 69 ct.to.a.login.page.if.the.user.i
0280 73 20 6e 6f 74 20 6c 6f 67 67 65 64 20 69 6e 2e 20 57 65 20 61 6c 77 61 79 73 0a 20 20 72 65 64 s.not.logged.in..We.always...red
02a0 69 72 65 63 74 20 74 6f 20 74 68 65 20 72 65 71 75 65 73 74 20 55 52 49 2c 20 61 6e 64 20 47 6f irect.to.the.request.URI,.and.Go
02c0 6f 67 6c 65 20 41 63 63 6f 75 6e 74 73 20 6f 6e 6c 79 20 72 65 64 69 72 65 63 74 73 20 62 61 63 ogle.Accounts.only.redirects.bac
02e0 6b 20 61 73 20 61 20 47 45 54 0a 20 20 72 65 71 75 65 73 74 2c 20 73 6f 20 74 68 69 73 20 73 68 k.as.a.GET...request,.so.this.sh
0300 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 66 6f 72 20 50 4f 53 54 73 2e 0a 20 20 63 01 ould.not.be.used.for.POSTs....c.
0320 00 00 00 03 00 00 00 03 00 00 00 17 00 00 00 73 6b 00 00 00 7c 00 00 69 00 00 69 01 00 64 01 00 ...............sk...|..i..i..d..
0340 6a 03 00 6f 13 00 01 74 02 00 69 03 00 64 02 00 83 01 00 82 01 00 6e 01 00 01 74 04 00 69 05 00 j..o...t..i..d........n...t..i..
0360 83 00 00 7d 02 00 7c 02 00 70 21 00 01 7c 00 00 69 06 00 74 04 00 69 07 00 7c 00 00 69 00 00 69 ...}..|..p!..|..i..t..i..|..i..i
0380 08 00 83 01 00 83 01 00 01 64 00 00 53 01 88 00 00 7c 00 00 7c 01 00 8c 01 00 01 64 00 00 53 28 .........d..S....|..|......d..S(
03a0 03 00 00 00 4e 74 03 00 00 00 47 45 54 73 3b 00 00 00 54 68 65 20 63 68 65 63 6b 5f 6c 6f 67 69 ....Nt....GETs;...The.check_logi
03c0 6e 20 64 65 63 6f 72 61 74 6f 72 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 66 6f 72 n.decorator.can.only.be.used.for
03e0 20 47 45 54 20 72 65 71 75 65 73 74 73 28 09 00 00 00 74 07 00 00 00 72 65 71 75 65 73 74 74 06 .GET.requests(....t....requestt.
0400 00 00 00 6d 65 74 68 6f 64 52 03 00 00 00 74 05 00 00 00 45 72 72 6f 72 52 02 00 00 00 74 10 00 ...methodR....t....ErrorR....t..
0420 00 00 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 74 08 00 00 00 72 65 64 69 72 65 63 74 74 ..get_current_usert....redirectt
0440 10 00 00 00 63 72 65 61 74 65 5f 6c 6f 67 69 6e 5f 75 72 6c 74 03 00 00 00 75 72 69 28 03 00 00 ....create_login_urlt....uri(...
0460 00 74 04 00 00 00 73 65 6c 66 74 04 00 00 00 61 72 67 73 74 04 00 00 00 75 73 65 72 28 01 00 00 .t....selft....argst....user(...
0480 00 74 0e 00 00 00 68 61 6e 64 6c 65 72 5f 6d 65 74 68 6f 64 28 00 00 00 00 73 48 00 00 00 2f 68 .t....handler_method(....sH.../h
04a0 6f 6d 65 2f 7a 78 32 63 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 ome/zx2c4/Desktop/google_appengi
04c0 6e 65 2f 67 6f 6f 67 6c 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 ne/google/appengine/ext/webapp/u
04e0 74 69 6c 2e 70 79 74 0b 00 00 00 63 68 65 63 6b 5f 6c 6f 67 69 6e 30 00 00 00 73 0e 00 00 00 00 til.pyt....check_login0...s.....
0500 01 13 01 13 02 0c 01 07 01 1c 01 05 02 28 00 00 00 00 28 02 00 00 00 52 0f 00 00 00 52 10 00 00 .............(....(....R....R...
0520 00 28 00 00 00 00 28 01 00 00 00 52 0f 00 00 00 73 48 00 00 00 2f 68 6f 6d 65 2f 7a 78 32 63 34 .(....(....R....sH.../home/zx2c4
0540 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 6e 65 2f 67 6f 6f 67 6c 65 /Desktop/google_appengine/google
0560 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 74 69 6c 2e 70 79 52 00 00 /appengine/ext/webapp/util.pyR..
0580 00 00 22 00 00 00 73 04 00 00 00 00 0e 0f 0a 63 01 00 00 00 04 00 00 00 03 00 00 00 43 00 00 00 .."...s........c............C...
05a0 73 ac 00 00 00 74 00 00 74 01 00 69 02 00 83 01 00 7d 01 00 74 03 00 69 04 00 7c 01 00 64 01 00 s....t..t..i.....}..t..i..|..d..
05c0 3c 74 03 00 69 05 00 7c 01 00 64 02 00 3c 64 0b 00 7c 01 00 64 05 00 3c 74 06 00 7c 01 00 64 06 <t..i..|..d..<d..|..d..<t..|..d.
05e0 00 3c 74 07 00 69 08 00 69 09 00 7c 01 00 83 01 00 7c 01 00 64 07 00 3c 74 0a 00 7c 01 00 64 08 .<t..i..i..|.....|..d..<t..|..d.
0600 00 3c 74 0a 00 7c 01 00 64 09 00 3c 7c 00 00 7c 01 00 74 0b 00 83 02 00 7d 02 00 7c 02 00 64 0a .<t..|..d..<|..|..t.....}..|..d.
0620 00 6a 09 00 6f 25 00 01 78 22 00 7c 02 00 44 5d 16 00 7d 03 00 74 03 00 69 0d 00 69 0e 00 7c 03 .j..o%..x".|..D]..}..t..i..i..|.
0640 00 83 01 00 01 71 8a 00 57 6e 01 00 01 64 0a 00 53 28 0c 00 00 00 73 05 01 00 00 52 75 6e 73 20 .....q..Wn...d..S(....s....Runs.
0660 79 6f 75 72 20 57 53 47 49 2d 63 6f 6d 70 6c 69 61 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 your.WSGI-compliant.application.
0680 6f 62 6a 65 63 74 20 69 6e 20 61 20 43 47 49 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 0a 20 20 object.in.a.CGI.environment.....
06a0 43 6f 6d 70 61 72 65 64 20 74 6f 20 77 73 67 69 72 65 66 2e 68 61 6e 64 6c 65 72 73 2e 43 47 49 Compared.to.wsgiref.handlers.CGI
06c0 48 61 6e 64 6c 65 72 28 29 2e 72 75 6e 28 61 70 70 6c 69 63 61 74 69 6f 6e 29 2c 20 74 68 69 73 Handler().run(application),.this
06e0 0a 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 73 6f 6d 65 20 73 68 6f 72 74 63 75 74 73 ...function.takes.some.shortcuts
0700 2e 20 20 54 68 6f 73 65 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 62 65 63 61 75 73 65 20 74 68 ...Those.are.possible.because.th
0720 65 0a 20 20 61 70 70 20 73 65 72 76 65 72 20 6d 61 6b 65 73 20 73 74 72 6f 6e 67 65 72 20 70 72 e...app.server.makes.stronger.pr
0740 6f 6d 69 73 65 73 20 74 68 61 6e 20 74 68 65 20 43 47 49 20 73 74 61 6e 64 61 72 64 2e 0a 20 20 omises.than.the.CGI.standard....
0760 73 0a 00 00 00 77 73 67 69 2e 69 6e 70 75 74 73 0b 00 00 00 77 73 67 69 2e 65 72 72 6f 72 73 69 s....wsgi.inputs....wsgi.errorsi
0780 01 00 00 00 69 00 00 00 00 73 0c 00 00 00 77 73 67 69 2e 76 65 72 73 69 6f 6e 73 0d 00 00 00 77 ....i....s....wsgi.versions....w
07a0 73 67 69 2e 72 75 6e 5f 6f 6e 63 65 73 0f 00 00 00 77 73 67 69 2e 75 72 6c 5f 73 63 68 65 6d 65 sgi.run_onces....wsgi.url_scheme
07c0 73 10 00 00 00 77 73 67 69 2e 6d 75 6c 74 69 74 68 72 65 61 64 73 11 00 00 00 77 73 67 69 2e 6d s....wsgi.multithreads....wsgi.m
07e0 75 6c 74 69 70 72 6f 63 65 73 73 4e 28 02 00 00 00 69 01 00 00 00 69 00 00 00 00 28 0f 00 00 00 ultiprocessN(....i....i....(....
0800 74 04 00 00 00 64 69 63 74 74 02 00 00 00 6f 73 74 07 00 00 00 65 6e 76 69 72 6f 6e 74 03 00 00 t....dictt....ost....environt...
0820 00 73 79 73 74 05 00 00 00 73 74 64 69 6e 74 06 00 00 00 73 74 64 65 72 72 74 04 00 00 00 54 72 .syst....stdint....stderrt....Tr
0840 75 65 74 07 00 00 00 77 73 67 69 72 65 66 74 04 00 00 00 75 74 69 6c 74 0c 00 00 00 67 75 65 73 uet....wsgireft....utilt....gues
0860 73 5f 73 63 68 65 6d 65 74 05 00 00 00 46 61 6c 73 65 74 0f 00 00 00 5f 73 74 61 72 74 5f 72 65 s_schemet....Falset...._start_re
0880 73 70 6f 6e 73 65 74 04 00 00 00 4e 6f 6e 65 74 06 00 00 00 73 74 64 6f 75 74 74 05 00 00 00 77 sponset....Nonet....stdoutt....w
08a0 72 69 74 65 28 04 00 00 00 74 0b 00 00 00 61 70 70 6c 69 63 61 74 69 6f 6e 74 03 00 00 00 65 6e rite(....t....applicationt....en
08c0 76 74 06 00 00 00 72 65 73 75 6c 74 74 04 00 00 00 64 61 74 61 28 00 00 00 00 28 00 00 00 00 73 vt....resultt....data(....(....s
08e0 48 00 00 00 2f 68 6f 6d 65 2f 7a 78 32 63 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 H.../home/zx2c4/Desktop/google_a
0900 70 70 65 6e 67 69 6e 65 2f 67 6f 6f 67 6c 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 ppengine/google/appengine/ext/we
0920 62 61 70 70 2f 75 74 69 6c 2e 70 79 52 01 00 00 00 3d 00 00 00 73 1a 00 00 00 00 07 0f 01 0d 01 bapp/util.pyR....=...s..........
0940 0d 01 0a 01 0a 01 16 01 0a 01 0a 01 0f 01 0d 01 07 00 06 01 63 03 00 00 00 05 00 00 00 04 00 00 ....................c...........
0960 00 43 00 00 00 73 63 00 00 00 7c 02 00 64 06 00 6a 09 00 6f 1c 00 01 7c 02 00 64 01 00 19 7c 02 .C...sc...|..d..j..o...|..d...|.
0980 00 64 02 00 19 7c 02 00 64 03 00 19 82 03 00 6e 01 00 01 64 04 00 7c 00 00 16 47 48 78 23 00 7c .d...|..d......n...d..|...GHx#.|
09a0 01 00 44 5d 1b 00 5c 02 00 7d 03 00 7d 04 00 64 05 00 7c 03 00 7c 04 00 66 02 00 16 47 48 71 39 ..D]..\..}..}..d..|..|..f...GHq9
09c0 00 57 48 74 01 00 69 02 00 69 03 00 53 28 07 00 00 00 73 33 00 00 00 41 20 73 74 61 72 74 5f 72 .WHt..i..i..S(....s3...A.start_r
09e0 65 73 70 6f 6e 73 65 28 29 20 63 61 6c 6c 61 62 6c 65 20 61 73 20 73 70 65 63 69 66 69 65 64 20 esponse().callable.as.specified.
0a00 62 79 20 50 45 50 20 33 33 33 69 00 00 00 00 69 01 00 00 00 69 02 00 00 00 73 0a 00 00 00 53 74 by.PEP.333i....i....i....s....St
0a20 61 74 75 73 3a 20 25 73 73 06 00 00 00 25 73 3a 20 25 73 4e 28 04 00 00 00 52 1d 00 00 00 52 14 atus:.%ss....%s:.%sN(....R....R.
0a40 00 00 00 52 1e 00 00 00 52 1f 00 00 00 28 05 00 00 00 74 06 00 00 00 73 74 61 74 75 73 74 07 00 ...R....R....(....t....statust..
0a60 00 00 68 65 61 64 65 72 73 74 08 00 00 00 65 78 63 5f 69 6e 66 6f 74 04 00 00 00 6e 61 6d 65 74 ..headerst....exc_infot....namet
0a80 03 00 00 00 76 61 6c 28 00 00 00 00 28 00 00 00 00 73 48 00 00 00 2f 68 6f 6d 65 2f 7a 78 32 63 ....val(....(....sH.../home/zx2c
0aa0 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 6e 65 2f 67 6f 6f 67 6c 4/Desktop/google_appengine/googl
0ac0 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 74 69 6c 2e 70 79 52 1c e/appengine/ext/webapp/util.pyR.
0ae0 00 00 00 52 00 00 00 73 10 00 00 00 00 02 0d 01 1c 01 09 01 07 00 0c 01 13 01 01 01 28 0e 00 00 ...R...s....................(...
0b00 00 74 07 00 00 00 5f 5f 64 6f 63 5f 5f 74 07 00 00 00 5f 5f 61 6c 6c 5f 5f 52 12 00 00 00 52 14 .t....__doc__t....__all__R....R.
0b20 00 00 00 74 0c 00 00 00 77 73 67 69 72 65 66 2e 75 74 69 6c 52 18 00 00 00 74 14 00 00 00 67 6f ...t....wsgiref.utilR....t....go
0b40 6f 67 6c 65 2e 61 70 70 65 6e 67 69 6e 65 2e 61 70 69 52 02 00 00 00 74 14 00 00 00 67 6f 6f 67 ogle.appengine.apiR....t....goog
0b60 6c 65 2e 61 70 70 65 6e 67 69 6e 65 2e 65 78 74 52 03 00 00 00 52 00 00 00 00 52 01 00 00 00 52 le.appengine.extR....R....R....R
0b80 1d 00 00 00 52 1c 00 00 00 28 00 00 00 00 28 00 00 00 00 28 00 00 00 00 73 48 00 00 00 2f 68 6f ....R....(....(....(....sH.../ho
0ba0 6d 65 2f 7a 78 32 63 34 2f 44 65 73 6b 74 6f 70 2f 67 6f 6f 67 6c 65 5f 61 70 70 65 6e 67 69 6e me/zx2c4/Desktop/google_appengin
0bc0 65 2f 67 6f 6f 67 6c 65 2f 61 70 70 65 6e 67 69 6e 65 2f 65 78 74 2f 77 65 62 61 70 70 2f 75 74 e/google/appengine/ext/webapp/ut
0be0 69 6c 2e 70 79 74 08 00 00 00 3c 6d 6f 64 75 6c 65 3e 12 00 00 00 73 12 00 00 00 06 06 0c 02 0c il.pyt....<module>....s.........
0c00 01 0c 01 0c 02 10 01 10 03 09 1b 09 15 .............