70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
int wanted = 0;
char *z;
char zRequestFName[100];
char zReplyFName[100];
char zCmd[2000]; /* Command-line to process the request */
char zHdr[2000]; /* The HTTP request header */
sqlite3_snprintf(sizeof(zRequestFName), zRequestFName,
"%s_in%d.txt", zTempPrefix, p->id);
sqlite3_snprintf(sizeof(zReplyFName), zReplyFName,
"%s_out%d.txt", zTempPrefix, p->id);
amt = 0;
while( amt<sizeof(zHdr) ){
got = recv(p->s, &zHdr[amt], sizeof(zHdr)-1-amt, 0);
if( got==SOCKET_ERROR ) goto end_request;
if( got==0 ){
wanted = 0;
|
|
|
|
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
int wanted = 0;
char *z;
char zRequestFName[100];
char zReplyFName[100];
char zCmd[2000]; /* Command-line to process the request */
char zHdr[2000]; /* The HTTP request header */
sqlite4_snprintf(zRequestFName, sizeof(zRequestFName),
"%s_in%d.txt", zTempPrefix, p->id);
sqlite4_snprintf(zReplayFName, sizeof(zReplyFName),
"%s_out%d.txt", zTempPrefix, p->id);
amt = 0;
while( amt<sizeof(zHdr) ){
got = recv(p->s, &zHdr[amt], sizeof(zHdr)-1-amt, 0);
if( got==SOCKET_ERROR ) goto end_request;
if( got==0 ){
wanted = 0;
|
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
}else{
break;
}
wanted -= got;
}
fclose(out);
out = 0;
sqlite3_snprintf(sizeof(zCmd), zCmd, "\"%s\" http \"%s\" %s %s %s --nossl%s",
fossil_nameofexe(), g.zRepositoryName, zRequestFName, zReplyFName,
inet_ntoa(p->addr.sin_addr), p->zOptions
);
fossil_system(zCmd);
in = fossil_fopen(zReplyFName, "rb");
if( in ){
while( (got = fread(zHdr, 1, sizeof(zHdr), in))>0 ){
|
|
|
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
}else{
break;
}
wanted -= got;
}
fclose(out);
out = 0;
sqlite4_snprintf(zCmd, sizeof(zCmd), "\"%s\" http \"%s\" %s %s %s --nossl%s",
fossil_nameofexe(), g.zRepositoryName, zRequestFName, zReplyFName,
inet_ntoa(p->addr.sin_addr), p->zOptions
);
fossil_system(zCmd);
in = fossil_fopen(zReplyFName, "rb");
if( in ){
while( (got = fread(zHdr, 1, sizeof(zHdr), in))>0 ){
|