multipart/formdata now works for cgi variables. Created base for dump tag.
This commit is contained in:
parent
c21dea1411
commit
c90c7353c7
21
Global.cpp
21
Global.cpp
@ -73,7 +73,11 @@ namespace jet {
|
||||
renderVariableName(variable, name, modifier, lvariables);
|
||||
return variables[name];
|
||||
} if(variable.ifNext(":")) {
|
||||
// TODO: should only allow CGI variable name. Allow variable substitution.
|
||||
renderVariableName(variable, name, modifier, lvariables);
|
||||
if(name.find(":") == -1) {
|
||||
name << ":0";
|
||||
}
|
||||
return processModifier(cgiVariables[name], modifier);
|
||||
} if(variable.ifNext("@")) {
|
||||
// TODO: should only allow session variables. Allow substitution.
|
||||
} if(variable.ifNext("%")) {
|
||||
@ -103,8 +107,9 @@ namespace jet {
|
||||
if(variable.ifNext(";")) {
|
||||
renderVariableName(variable, modifier, modifier, lvariables);
|
||||
return;
|
||||
}
|
||||
else if(variable.startsWith("$[") || variable.startsWith("#["))
|
||||
} else if(variable.ifNext(":")) {
|
||||
name << ":";
|
||||
} else if(variable.startsWith("$[") || variable.startsWith("#["))
|
||||
name << getVariable(variable, lvariables);
|
||||
else if(variable.ifNext("]"))
|
||||
return;
|
||||
@ -151,8 +156,14 @@ namespace jet {
|
||||
coreutils::ZString data = formdata.getTokenExclude("-"); // TODO: Fix this parsing. Need a string exclusion method to check for 'boundary'.
|
||||
data.trimCRLF();
|
||||
formdata.ifNext(boundary);
|
||||
cgiVariables[name] = data;
|
||||
std::cout << name << ":[" << data << "]" << std::endl;
|
||||
int index = 0;
|
||||
coreutils::MString namex;
|
||||
do {
|
||||
namex = "";
|
||||
namex << name << ":" << index++;
|
||||
} while(cgiVariables.count(namex) != 0);
|
||||
cgiVariables[namex] = data;
|
||||
// std::cout << namex << ":[" << data << "]" << std::endl;
|
||||
if(formdata.ifNext("--"))
|
||||
break;
|
||||
formdata.goeol();
|
||||
|
2
Global.h
2
Global.h
@ -27,7 +27,7 @@ namespace jet {
|
||||
void setupFormData(coreutils::ZString &formdata);
|
||||
|
||||
std::map<coreutils::MString, coreutils::MString> variables;
|
||||
std::map<coreutils::ZString, coreutils::ZString> cgiVariables;
|
||||
std::map<coreutils::MString, coreutils::MString> cgiVariables;
|
||||
std::map<coreutils::MString, __mysql *> sessions;
|
||||
std::map<coreutils::MString, coreutils::MString> headers;
|
||||
std::map<coreutils::MString, coreutils::MString> tags;
|
||||
|
132
JetCore.log
132
JetCore.log
@ -1,127 +1,17 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2024.6.24) 1 NOV 2024 14:40
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdfetex 2024.11.17) 24 NOV 2024 10:04
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
%&-line parsing enabled.
|
||||
**JetCore.txt
|
||||
**\input ./JetCore.txt
|
||||
(./JetCore.txt
|
||||
LaTeX2e <2023-11-01> patch level 1
|
||||
L3 programming layer <2024-01-22>
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
|
||||
Document Class: book 2023/05/17 v1.4n Standard LaTeX document class
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo
|
||||
File: bk10.clo 2023/05/17 v1.4n Standard LaTeX file (size option)
|
||||
)
|
||||
\c@part=\count187
|
||||
\c@chapter=\count188
|
||||
\c@section=\count189
|
||||
\c@subsection=\count190
|
||||
\c@subsubsection=\count191
|
||||
\c@paragraph=\count192
|
||||
\c@subparagraph=\count193
|
||||
\c@figure=\count194
|
||||
\c@table=\count195
|
||||
\abovecaptionskip=\skip48
|
||||
\belowcaptionskip=\skip49
|
||||
\bibindent=\dimen140
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
|
||||
File: l3backend-pdftex.def 2024-01-04 L3 backend support: PDF output (pdfTeX)
|
||||
\l__color_backend_stack_int=\count196
|
||||
\l__pdf_internal_box=\box51
|
||||
)
|
||||
(./JetCore.aux)
|
||||
\openout1 = `JetCore.aux'.
|
||||
./JetCore.txt:1: Undefined control sequence.
|
||||
l.1 \documentclass
|
||||
{book}
|
||||
?
|
||||
./JetCore.txt:1: Emergency stop.
|
||||
l.1
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7.
|
||||
LaTeX Font Info: ... okay on input line 7.
|
||||
LaTeX Font Info: External font `cmex10' loaded for size
|
||||
(Font) <12> on input line 9.
|
||||
LaTeX Font Info: External font `cmex10' loaded for size
|
||||
(Font) <8> on input line 9.
|
||||
LaTeX Font Info: External font `cmex10' loaded for size
|
||||
(Font) <6> on input line 9.
|
||||
[1
|
||||
|
||||
|
||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2
|
||||
|
||||
]
|
||||
(./JetCore.toc
|
||||
LaTeX Font Info: External font `cmex10' loaded for size
|
||||
(Font) <7> on input line 4.
|
||||
LaTeX Font Info: External font `cmex10' loaded for size
|
||||
(Font) <5> on input line 4.
|
||||
[3])
|
||||
\tf@toc=\write3
|
||||
\openout3 = `JetCore.toc'.
|
||||
|
||||
[4]
|
||||
Chapter 1.
|
||||
[5
|
||||
|
||||
] [6
|
||||
|
||||
]
|
||||
Chapter 2.
|
||||
[7] [8
|
||||
|
||||
]
|
||||
Chapter 3.
|
||||
[9{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}] [10
|
||||
|
||||
]
|
||||
Chapter 4.
|
||||
|
||||
Overfull \hbox (8.39041pt too wide) in paragraph at lines 100--100
|
||||
[]\OT1/cmr/bx/n/12 substring(string, start-position, number-of-characters
|
||||
[]
|
||||
|
||||
[11] [12
|
||||
|
||||
]
|
||||
Chapter 5.
|
||||
[13] [14
|
||||
|
||||
]
|
||||
Chapter 6.
|
||||
[15] [16] [17] [18] (./JetCore.aux)
|
||||
***********
|
||||
LaTeX2e <2023-11-01> patch level 1
|
||||
L3 programming layer <2024-01-22>
|
||||
***********
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
508 strings out of 476182
|
||||
9280 string characters out of 5795595
|
||||
1932975 words of memory out of 5000000
|
||||
22573 multiletter control sequences out of 15000+600000
|
||||
564392 words of font info for 57 fonts, out of 8000000 for 9000
|
||||
14 hyphenation exceptions out of 8191
|
||||
35i,6n,50p,185b,189s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></us
|
||||
r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/shar
|
||||
e/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texli
|
||||
ve/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texm
|
||||
f-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/share/texlive/texmf-dist/
|
||||
fonts/type1/public/amsfonts/cm/cmsl10.pfb></usr/share/texlive/texmf-dist/fonts/
|
||||
type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texmf/fonts/type1/public/cm-sup
|
||||
er/sfrm1000.pfb>
|
||||
Output written on JetCore.pdf (18 pages, 126208 bytes).
|
||||
PDF statistics:
|
||||
103 PDF objects out of 1000 (max. 8388607)
|
||||
66 compressed objects within 1 object stream
|
||||
0 named destinations out of 1000 (max. 500000)
|
||||
1 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
End of file on the terminal!
|
||||
|
||||
./JetCore.txt:1: ==> Fatal error occurred, no output PDF file produced!
|
||||
|
10
JetCore.txt
10
JetCore.txt
@ -1,5 +1,4 @@
|
||||
\documentclass{book}
|
||||
|
||||
\title{JET Extension Tags}
|
||||
\author{Bradford Matthew Arant Sr.}
|
||||
\date{\today}
|
||||
@ -193,6 +192,15 @@ used for making comments and is ignored by the jet reader.
|
||||
|
||||
The comments tag has no attributes.
|
||||
|
||||
\section{dump}
|
||||
|
||||
Use the dump tag to display the contents of all the global, local and
|
||||
cgi cariables to a specified file.
|
||||
|
||||
The attributes are:
|
||||
|
||||
file
|
||||
|
||||
\section{expr}
|
||||
|
||||
\section{for}
|
||||
|
@ -19,7 +19,7 @@ Content-Disposition: form-data; name="name"
|
||||
|
||||
5
|
||||
------WebKitFormBoundaryA1LWIjMAIsdFW9XA
|
||||
Content-Disposition: form-data; name="name"
|
||||
Content-Disposition: form-data; name="name2"
|
||||
|
||||
6
|
||||
------WebKitFormBoundaryA1LWIjMAIsdFW9XA--
|
||||
|
@ -1,4 +1,6 @@
|
||||
#!../jet-2.0
|
||||
<jet cgi="true">
|
||||
|
||||
$[:name]
|
||||
$[:name:3;tohex]
|
||||
$[:name2;tohex]
|
||||
</jet>
|
||||
|
Loading…
x
Reference in New Issue
Block a user