当前位置: 首页>>代码示例>>C++>>正文


C++ respond函数代码示例

本文整理汇总了C++中respond函数的典型用法代码示例。如果您正苦于以下问题:C++ respond函数的具体用法?C++ respond怎么用?C++ respond使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了respond函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: respondJsonParseError

void UserManagementAPI::handleUserResetPasswordPost(HttpRequest &request, HttpResponse &response)
{
    QByteArray rawData = request.getRawData();
    QJsonParseError error;
    QJsonDocument data = QJsonDocument::fromJson(rawData, &error);

    if (error.error != QJsonParseError::NoError)
    {
        respondJsonParseError(response, error);
        return;
    }

    QJsonObject dataObject = data.object();

    //not checking if user is activated or not here might be ok.
    //because this api call has to be sent from the ui, as it needs recaptcha
    //and the ui checks if user is activated

    if (dataObject.contains("email") && dataObject.contains("password")
            && dataObject.contains("g_recaptcha_response"))
    {

        QString email = dataObject["email"].toString();
        QByteArray password = dataObject["password"].toString().toLatin1();
        QString g_recaptcha_response = dataObject["g_recaptcha_response"].toString();

        if (!ReCAPTCHAVerifier::getSingleton().verify(g_recaptcha_response, request.getFromIPAddress()))
        {
            respond(response, StatusCode::reCAPTCHAFailed, "reCAPTCHA check failed!");
            return;
        }

        if (dataObject.contains("reset_code"))
        {
            QByteArray reset_code = dataObject["reset_code"].toString().toLatin1();
            QString errorMessage;
            if (!m_userManager.resetPassword(email, password, reset_code, false, errorMessage))
            {
                respond(response, StatusCode::PasswordResetFailed, "Password reset failed: " % errorMessage);
            }
        }
        else if(dataObject.contains("old_password"))
        {
            QByteArray old_password = dataObject["old_password"].toString().toLatin1();
            QString errorMessage;

            if (!m_userManager.resetPassword(email, password, old_password, true, errorMessage))
            {
                respond(response, StatusCode::PasswordResetFailed, "Password reset failed: " % errorMessage);
            }
        }
        else
        {
            respondParameterMissing(response);
        }

        respondSuccess(response);
    }
    else
    {
        respondParameterMissing(response);
    }
}
开发者ID:shi-yan,项目名称:Swiftly,代码行数:63,代码来源:UserManagementAPI.cpp

示例2: follow_master

void follow_master(void) {
   object *objs;
   int i;
   int nMasterHere;

   nMasterHere = 0;
   objs = query_environment()->query_inventory();
   for (i = 0; i < sizeof(objs); i++) {
      if (objs[i] == master) {
         nMasterHere = 1;
      }
   }

   if (nMasterHere == 0) {
      if (!master) {
         remove_call_out(nFollow);
         respond("say It seems " + master_name +
            " no longer has a need for me.");
         die();
         destruct_object(this_object());
         return;
      }
      if (query_environment() != master->query_environment()) {
         switch (random(10)) {
            case 0:
               query_environment()->tell_room(nil, my_name + " leaves.");
               break;
            case 1:
               query_environment()->tell_room(nil, my_name +
                  " tries to follow his master.");
               break;
            case 2:
               query_environment()->tell_room(nil,
                  my_name + " follows his master.");
               break;
            case 3:
               query_environment()->tell_room(nil, my_name +
                  " disappears in a cloud of smoke.");
               break;
            case 4:
               query_environment()->tell_room(nil,
                  my_name + " suddenly vanishes.");
               break;
            case 5:
               query_environment()->tell_room(nil,
                  my_name + " fades out of view.");
               break;
            case 6:
               query_environment()->tell_room(nil, my_name +
                  " runs off after his master.");
               break;
            case 7:
               query_environment()->tell_room(nil, my_name +
                  " suddenly notices that his master has left, and runs off.");
               break;
            case 8:
               query_environment()->tell_room(nil, my_name +
                  " fades into the shadows, and is gone.");
               break;
            case 9:
               query_environment()->tell_room(nil, my_name +
                  " snaps his fingers, and is gone.");
               break;
         }

         move(master->query_environment()->base_name());
         switch (random(10)) {
            case 0:
               query_environment()->tell_room(nil, my_name +
                  " follows the light of his life.");
               break;
            case 1:
               query_environment()->tell_room(nil, my_name +
                  " follows in his masters footsteps.");
               break;
            case 2:
               query_environment()->tell_room(nil, my_name +
                  " appears next to his master in a cloud of smoke.");
               break;
            case 3:
               query_environment()->tell_room(nil, my_name + " enters.");
               break;
            case 4:
               query_environment()->tell_room(nil, my_name + " appears.");
               break;
            case 5:
               query_environment()->tell_room(nil, my_name +
                  " arrives shortly after his master.");
               break;
            case 6:
               query_environment()->tell_room(nil, my_name +
                  " comes running, tying to keep up with his master.");
               break;
            case 7:
               query_environment()->tell_room(nil, "A humble page enters.");
               break;
            case 8:
               query_environment()->tell_room(nil,
                  "A humble person wearing a robe enters.");
               break;
//.........这里部分代码省略.........
开发者ID:Lundex,项目名称:gurbalib,代码行数:101,代码来源:page.c

示例3: generic404

void TabletServer::mainScreen(QTcpSocket *socket, const QStringList &path, const QStringMap &query)
{
    Document * doc = mw->currentDocument();
    if(!doc)
    {
        generic404(socket,path,query);
        return;
    }

    QStringList pathCopy = path;
    pathCopy.takeFirst(); // should be "tablet", but could be anything - /tablet/ is canonized for use in the tablet cache manifest for sfari
    QString control = pathCopy.isEmpty() ? "" : pathCopy.takeFirst().toLower();
    //bool flag = pathCopy.isEmpty() ? 0 : pathCopy.takeFirst().toInt();

    //qDebug() << "TabletServer::mainScreen(): control: "<<control;

    HttpUser *user = HttpUserUtil::instance()->currentUser();

    if(control != "login")
    {
        if(!user)
        {
            QString from = QUrl::toPercentEncoding(toPathString(path,query).toAscii()).replace(" ", "+");
            redirect(socket, "/tablet/login?from=" + from);
            return;
        }

        // I've decided to allow guests "view-only" access

// 		else
// 		if(user->level() == HttpUser::Guest)
// 		{
// 			Http_Send_Ok(socket) << "<html><head><title>Not Allowed</title></head><body><h1>Not Allowed</h1>Sorry, you're not allowed to access this site. (<a href='/tablet/login'>Login again</a>)</body></html";
// 			return;
// 		}
    }

    if(control.isEmpty())
    {

        SimpleTemplate tmpl("data/http/tablet.tmpl");
        tmpl.param("user_name", user->user());
        tmpl.param("user_level", (int)user->level());
        tmpl.param("is_admin", user->level() == HttpUser::Admin);
        tmpl.param("is_user",  user->level() == HttpUser::User);
        tmpl.param("is_guest", user->level() == HttpUser::Guest);

// 		tmpl.param("list",outputGroupList);
//
// 		OutputControl * outputControl = mw->outputControl(liveId);
// 		tmpl.param("black_toggled", outputControl->isBlackToggled());
// 		tmpl.param("clear_toggled", outputControl->isClearToggled());
//
// 		SlideGroupViewControl *viewControl = mw->viewControl(liveId);
// 		tmpl.param("qslide_toggled", viewControl->isQuickSlideToggled());
//
// 		if(doc->filename().isEmpty())
// 			tmpl.param("docfile",tr("New File"));
// 		else
// 			tmpl.param("docfile",QFileInfo(doc->filename()).baseName());

        // 	Http_Send_Ok(socket) <<
        // 		"Content-Type: text/html\n\n" <<
        // 		tmpl.toString();

        QHttpResponseHeader header(QString("HTTP/1.0 200 OK"));
        header.setValue("Content-Type", "text/html");

        respond(socket, header);

        QTextStream output(socket);
        output.setAutoDetectUnicode(true);
        output << tmpl.toString();
    }
    else if(control == "login")
    {
        loginPage(socket, path, query, "/tablet/login");
    }
    else if(control == "list")
    {
        QString filter = query["filter"]; // Can be empty

        // Don't allow non-admins to search because it would interfere with the main UI
        if(!filter.isEmpty() &&
                user->level() < HttpUser::Admin)
        {
            Http_Send_500txt(socket, "Not Authorized");
            return;
        }

        QString mode   = query["mode"]; // Either "db" or "file"

        bool pollingFlag  = query["poll"] == "true";
        QString clientMD5 = query["md5"]; // the md5 of the list contents to use to check for changes if pollingFlag == true

        // Compile list of results matching mode (from db or from current sched) and the filter, and return as json string

        // TODO add button to search online

        //qDebug() << "TabletServer::mainScreen(): list: mode: "<<mode<<", filter: "<<filter;
//.........这里部分代码省略.........
开发者ID:dtbinh,项目名称:dviz,代码行数:101,代码来源:TabletServer.cpp

示例4: connect

void Client::componentComplete()
{
    server = Server::server(m_connectionName);
    connect(server, SIGNAL(respond(QVariantMap)), this, SIGNAL(respond(QVariantMap)));
}
开发者ID:lyarbean,项目名称:silk,代码行数:5,代码来源:client.cpp

示例5: fsopen

static void
fsopen(Req *r)
{
	int t;
	uvlong path;
	Aux *a;
	Fid *fid;
	Whist *wh;

	fid = r->fid;
	path = fid->qid.path;
	t = qidtype(fid->qid.path);
	if((r->ifcall.mode != OREAD && t != Fnew && t != Fmap)
	|| (r->ifcall.mode&ORCLOSE)){
		respond(r, "permission denied");
		return;
	}

	a = fid->aux;
	switch(t){
	case Droot:
		currentmap(0);
		rlock(&maplock);
		a->map = map;
		incref(map);
		runlock(&maplock);
		respond(r, nil);
		break;
		
	case D1st:
		if((wh = gethistory(qidnum(path))) == nil){
			respond(r, "file does not exist");
			return;
		}
		closewhist(a->w);
		a->w = wh;
		a->n = a->w->ndoc-1;
		r->ofcall.qid.vers = wh->doc[a->n].time;
		r->fid->qid = r->ofcall.qid;
		respond(r, nil);
		break;
		
	case D2nd:
		respond(r, nil);
		break;

	case Fnew:
		a->s = s_copy("");
		respond(r, nil);
		break;

	case Fmap:
	case F1st:
	case F2nd:
		respond(r, nil);
		break;

	default:
		respond(r, "programmer error");
		break;
	}
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:62,代码来源:fs.c

示例6: ctlwrite

void
ctlwrite(Req *r)
{
	int i;
	Cmdbuf *cb;
	vlong start, end;

	r->ofcall.count = r->ifcall.count;
	cb = parsecmd(r->ifcall.data, r->ifcall.count);
	if(cb->nf < 1){
		respond(r, "empty control message");
		free(cb);
		return;
	}

	if(strcmp(cb->f[0], "part") == 0){
		if(cb->nf != 4){
			respondcmderror(r, cb, "part takes 3 args");
			free(cb);
			return;
		}
		start = strtoll(cb->f[2], 0, 0);
		end = strtoll(cb->f[3], 0, 0);
		if(addpart(cb->f[1], start, end) < 0){
			respondcmderror(r, cb, "%r");
			free(cb);
			return;
		}
	}
	else if(strcmp(cb->f[0], "delpart") == 0){
		if(cb->nf != 2){
			respondcmderror(r, cb, "delpart takes 1 arg");
			free(cb);
			return;
		}
		if(delpart(cb->f[1]) < 0){
			respondcmderror(r, cb, "%r");
			free(cb);
			return;
		}
	}
	else if(strcmp(cb->f[0], "inquiry") == 0){
		if(cb->nf != 2){
			respondcmderror(r, cb, "inquiry takes 1 arg");
			free(cb);
			return;
		}
		free(inquiry);
		inquiry = estrdup9p(cb->f[1]);
	}
	else if(strcmp(cb->f[0], "geometry") == 0){
		if(cb->nf != 6){
			respondcmderror(r, cb, "geometry takes 5 args");
			free(cb);
			return;
		}
		nsect = strtoll(cb->f[1], 0, 0);
		sectsize = strtoll(cb->f[2], 0, 0);
		c = strtoll(cb->f[3], 0, 0);
		h = strtoll(cb->f[4], 0, 0);
		s = strtoll(cb->f[5], 0, 0);
		if(tab[0].inuse && strcmp(tab[0].name, "data") == 0 && tab[0].vers == 0){
			tab[0].offset = 0;
			tab[0].length = nsect;
		}
		for(i=0; i<nelem(tab); i++){
			if(tab[i].inuse && tab[i].offset+tab[i].length > nsect){
				tab[i].inuse = 0;
				free(tab[i].name);
				tab[i].name = 0;
			}
		}
	}
	else{
		respondcmderror(r, cb, "unknown control message");
		free(cb);
		return;
	}

	free(cb);
	respond(r, nil);
}
开发者ID:99years,项目名称:plan9,代码行数:82,代码来源:disksim.c

示例7: respondError

	void respondError(int code, const QString &status, const QString &errorString)
	{
		respond(code, status, errorString.toUtf8() + '\n');
	}
开发者ID:mcspring,项目名称:pushpin,代码行数:4,代码来源:requestsession.cpp

示例8: noop

// no operation; only responds
void noop(char **params, short *abor, int fd,
	struct state *cstate, struct config *configuration) {
	respond(fd, 2, 2, 0, "OK.");
}
开发者ID:vojtsek,项目名称:FTP,代码行数:5,代码来源:commands.c

示例9: kdWarning

int ConnectionHandler::doCommand(QCString buf)
{
    if((uid_t)peerUid() != getuid())
    {
        kdWarning(1205) << "Peer uid not equal to me\n";
        kdWarning(1205) << "Peer: " << peerUid() << " Me: " << getuid() << endl;
        return -1;
    }

    QCString key, command, pass, name, user, value, env_check;
    Data_entry data;

    Lexer *l = new Lexer(buf);
    int tok = l->lex();
    switch(tok)
    {
        case Lexer::Tok_pass: // "PASS password:string timeout:int\n"
            tok = l->lex();
            if(tok != Lexer::Tok_str)
                goto parse_error;
            m_Pass.fill('x');
            m_Pass = l->lval();
            tok = l->lex();
            if(tok != Lexer::Tok_num)
                goto parse_error;
            m_Timeout = l->lval().toInt();
            if(l->lex() != '\n')
                goto parse_error;
            if(m_Pass.isNull())
                m_Pass = "";
            kdDebug(1205) << "Password set!\n";
            respond(Res_OK);
            break;

        case Lexer::Tok_host: // "HOST host:string\n"
            tok = l->lex();
            if(tok != Lexer::Tok_str)
                goto parse_error;
            m_Host = l->lval();
            if(l->lex() != '\n')
                goto parse_error;
            kdDebug(1205) << "Host set to " << m_Host << endl;
            respond(Res_OK);
            break;

        case Lexer::Tok_prio: // "PRIO priority:int\n"
            tok = l->lex();
            if(tok != Lexer::Tok_num)
                goto parse_error;
            m_Priority = l->lval().toInt();
            if(l->lex() != '\n')
                goto parse_error;
            kdDebug(1205) << "priority set to " << m_Priority << endl;
            respond(Res_OK);
            break;

        case Lexer::Tok_sched: // "SCHD scheduler:int\n"
            tok = l->lex();
            if(tok != Lexer::Tok_num)
                goto parse_error;
            m_Scheduler = l->lval().toInt();
            if(l->lex() != '\n')
                goto parse_error;
            kdDebug(1205) << "Scheduler set to " << m_Scheduler << endl;
            respond(Res_OK);
            break;

        case Lexer::Tok_exec: // "EXEC command:string user:string [options:string (env:string)*]\n"
        {
            QCString options;
            KStringList env;
            tok = l->lex();
            if(tok != Lexer::Tok_str)
                goto parse_error;
            command = l->lval();
            tok = l->lex();
            if(tok != Lexer::Tok_str)
                goto parse_error;
            user = l->lval();
            tok = l->lex();
            if(tok != '\n')
            {
                if(tok != Lexer::Tok_str)
                    goto parse_error;
                options = l->lval();
                tok = l->lex();
                while(tok != '\n')
                {
                    if(tok != Lexer::Tok_str)
                        goto parse_error;
                    QCString env_str = l->lval();
                    env.append(env_str);
                    if(strncmp(env_str, "DESKTOP_STARTUP_ID=", strlen("DESKTOP_STARTUP_ID=")) != 0)
                        env_check += "*" + env_str;
                    tok = l->lex();
                }
            }

            QCString auth_user;
            if((m_Scheduler != SuProcess::SchedNormal) || (m_Priority > 50))
//.........这里部分代码省略.........
开发者ID:serghei,项目名称:kde3-kdebase,代码行数:101,代码来源:handler.cpp

示例10: syst

// system info
void syst(char **params, short *abor, int fd,
	struct state *cstate, struct config *configuration) {
	respond(fd, 2, 1, 5, "UNIX Type: L8");
}
开发者ID:vojtsek,项目名称:FTP,代码行数:5,代码来源:commands.c

示例11: feat

// should give information about unusual commands supported by the server
void feat(char **params, short *abor, int fd,
	struct state *cstate, struct config *configuration) {
	respond(fd, 2, 1, 1, "Sorry.");
	write(fd, "NONE", 4);
	respond(fd, 2, 1, 1, "end");
}
开发者ID:vojtsek,项目名称:FTP,代码行数:7,代码来源:commands.c

示例12: quit

// disconnects from the server
void quit(char **params, short *abor, int fd,
	struct state *cstate, struct config *configuration) {
	pthread_detach(cstate->data_thread);
	respond(fd, 2, 2, 1, "Closing connection.");
	*abor = 1;
}
开发者ID:vojtsek,项目名称:FTP,代码行数:7,代码来源:commands.c

示例13: fsysread

static
Xfid*
fsysread(Xfid *x, Fid *f)
{
	Fcall t;
	uchar *b;
	int i, id, n, o, e, j, k, *ids, nids;
	Dirtab *d, dt;
	Column *c;
	uint clock, len;
	char buf[16];

	if(f->qid.type & QTDIR){
		if(FILE(f->qid) == Qacme){	/* empty dir */
			t.data = nil;
			t.count = 0;
			respond(x, &t, nil);
			return x;
		}
		o = x->fcall.offset;
		e = x->fcall.offset+x->fcall.count;
		clock = getclock();
		b = emalloc(messagesize);
		id = WIN(f->qid);
		n = 0;
		if(id > 0)
			d = dirtabw;
		else
			d = dirtab;
		d++;	/* first entry is '.' */
		for(i=0; d->name!=nil && i<e; i+=len){
			len = dostat(WIN(x->f->qid), d, b+n, x->fcall.count-n, clock);
			if(len <= BIT16SZ)
				break;
			if(i >= o)
				n += len;
			d++;
		}
		if(id == 0){
			qlock(&row.lk);
			nids = 0;
			ids = nil;
			for(j=0; j<row.ncol; j++){
				c = row.col[j];
				for(k=0; k<c->nw; k++){
					ids = realloc(ids, (nids+1)*sizeof(int));
					ids[nids++] = c->w[k]->id;
				}
			}
			qunlock(&row.lk);
			qsort(ids, nids, sizeof ids[0], idcmp);
			j = 0;
			dt.name = buf;
			for(; j<nids && i<e; i+=len){
				k = ids[j];
				sprint(dt.name, "%d", k);
				dt.qid = QID(k, Qdir);
				dt.type = QTDIR;
				dt.perm = DMDIR|0700;
				len = dostat(k, &dt, b+n, x->fcall.count-n, clock);
				if(len == 0)
					break;
				if(i >= o)
					n += len;
				j++;
			}
			free(ids);
		}
		t.data = (char*)b;
		t.count = n;
		respond(x, &t, nil);
		free(b);
		return x;
	}
	sendp(x->c, (void*)xfidread);
	return nil;
}
开发者ID:fr1tz,项目名称:nadir,代码行数:77,代码来源:fsys.c

示例14: fsyswalk

static
Xfid*
fsyswalk(Xfid *x, Fid *f)
{
	Fcall t;
	int c, i, j, id;
	Qid q;
	uchar type;
	ulong path;
	Fid *nf;
	Dirtab *d, *dir;
	Window *w;
	char *err;

	nf = nil;
	w = nil;
	if(f->open)
		return respond(x, &t, "walk of open file");
	if(x->fcall.fid != x->fcall.newfid){
		nf = newfid(x->fcall.newfid);
		if(nf->busy)
			return respond(x, &t, "newfid already in use");
		nf->busy = TRUE;
		nf->open = FALSE;
		nf->mntdir = f->mntdir;
		if(f->mntdir)
			f->mntdir->ref++;
		nf->dir = f->dir;
		nf->qid = f->qid;
		nf->w = f->w;
		nf->nrpart = 0;	/* not open, so must be zero */
		if(nf->w)
			incref(&nf->w->ref);
		f = nf;	/* walk f */
	}

	t.nwqid = 0;
	err = nil;
	dir = nil;
	id = WIN(f->qid);
	q = f->qid;

	if(x->fcall.nwname > 0){
		for(i=0; i<x->fcall.nwname; i++){
			if((q.type & QTDIR) == 0){
				err = Enotdir;
				break;
			}

			if(strcmp(x->fcall.wname[i], "..") == 0){
				type = QTDIR;
				path = Qdir;
				id = 0;
				if(w){
					winclose(w);
					w = nil;
				}
    Accept:
				if(i == MAXWELEM){
					err = "name too long";
					break;
				}
				q.type = type;
				q.vers = 0;
				q.path = QID(id, path);
				t.wqid[t.nwqid++] = q;
				continue;
			}

			/* is it a numeric name? */
			for(j=0; (c=x->fcall.wname[i][j]); j++)
				if(c<'0' || '9'<c)
					goto Regular;
			/* yes: it's a directory */
			if(w)	/* name has form 27/23; get out before losing w */
				break;
			id = atoi(x->fcall.wname[i]);
			qlock(&row.lk);
			w = lookid(id, FALSE);
			if(w == nil){
				qunlock(&row.lk);
				break;
			}
			incref(&w->ref);	/* we'll drop reference at end if there's an error */
			path = Qdir;
			type = QTDIR;
			qunlock(&row.lk);
			dir = dirtabw;
			goto Accept;
	
    Regular:
			if(strcmp(x->fcall.wname[i], "new") == 0){
				if(w)
					error("w set in walk to new");
				sendp(cnewwindow, nil);	/* signal newwindowthread */
				w = recvp(cnewwindow);	/* receive new window */
				incref(&w->ref);
				type = QTDIR;
				path = QID(w->id, Qdir);
				id = w->id;
//.........这里部分代码省略.........
开发者ID:fr1tz,项目名称:nadir,代码行数:101,代码来源:fsys.c

示例15: respond

string Kernel::respond(const string &input, const string &id, Responder *r, bool srai, const string &prefix) {
	return respond(input, id, r, 1, srai, prefix);
}
开发者ID:zekoman,项目名称:tibiaauto,代码行数:3,代码来源:Kernel.cpp


注:本文中的respond函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。