private Resposta responderArquivoEstatico(Solicitacao objSolicitacao) { if (objSolicitacao == null) { return(null); } if (string.IsNullOrEmpty(objSolicitacao.strPagina)) { return(null); } var objResposta = this.responderArquivoEstaticoCss(objSolicitacao); if (objResposta != null) { return(objResposta); } objResposta = this.responderArquivoEstaticoCss(objSolicitacao); if (objResposta != null) { return(objResposta); } if (STR_GET_SCRIPT.Equals(objSolicitacao.getStrGetValue("method"))) { return(this.responderArquivoEstaticoGetScript(objSolicitacao)); } return(this.responderArquivoEstatico(objSolicitacao, objSolicitacao.strPagina)); }
protected Resposta responderArquivoEstatico(Solicitacao objSolicitacao, string dirArquivo) { if (string.IsNullOrWhiteSpace(dirArquivo)) { return(null); } foreach (var arq in this.lstArqEstatico) { if (arq == null) { continue; } if (string.IsNullOrEmpty(arq.dirWeb)) { continue; } if (!arq.dirWeb.ToLower().Equals(dirArquivo.ToLower())) { continue; } return(this.responderArquivoEstatico(objSolicitacao, arq)); } return(this.responderArquivoEstaticoNaoEncontrado(objSolicitacao)); }
/// <summary> /// Este método é disparado a acada vez que o cliente fizer uma solicitação de algum recurso /// a este WEB server. /// </summary> /// <param name="objSolicitacao"> /// Classe que trás todas as informações da solicitação que foi encaminhada pelo servidor. /// <para> /// Uma das propriedades mais importantes que deve ser verificada é a <see /// cref="Solicitacao.dttUltimaModificacao"/>, para evitar que recursos em cache sejam /// enviados desnecessariamente para o cliente. /// </para> /// </param> /// <returns></returns> public override Resposta responder(Solicitacao objSolicitacao) { if (objSolicitacao == null) { return(null); } if (string.IsNullOrEmpty(objSolicitacao.strPaginaCompleta)) { return(null); } if (objSolicitacao.strPaginaCompleta.ToLower().StartsWith("/res/")) { return(this.responderArquivoEstatico(objSolicitacao)); } switch (objSolicitacao.strPagina) { case URL_DATA_BASE_FILE_DOWNLOAD: return(this.responderDbFileDownload(objSolicitacao)); } return(null); }
private Resposta responderArquivoEstaticoNaoEncontrado(Solicitacao objSolicitacao) { Log.i.erro("Arquivo estático ({0}) não encontrado.", objSolicitacao.strPaginaCompleta); return(new Resposta(objSolicitacao) { intStatus = 404 }); }
private Resposta responderArquivoEstatico(Solicitacao objSolicitacao, ArquivoEstatico arq) { if (objSolicitacao == null) { return(null); } if (arq == null) { return(null); } return(new Resposta(objSolicitacao).addArquivo(arq)); }
protected virtual void responder(Solicitacao objSolicitacao) { try { if (!objSolicitacao.validar()) { return; } this.responder(this.srv.responder(objSolicitacao)); } catch (Exception ex) { this.responderErro(objSolicitacao, ex); } }
protected virtual void responderErro(Solicitacao objSolicitacao, Exception ex) { if (ex == null) { return; } var objResposta = new Resposta(objSolicitacao); objResposta.addHtml(new PagError(ex)); objResposta.intStatus = Resposta.INT_STATUS_CODE_500_INTERNAL_ERROR; this.responder(objResposta); Log.i.erro(ex); }
private Resposta responderArquivoEstaticoCss(Solicitacao objSolicitacao) { if ((this.objUiManager != null) && this.objUiManager.getBooExportarCss()) { return(null); } if (CssMain.SRC_CSS.Equals(objSolicitacao.strPagina)) { return(this.responderArquivoEstatico(objSolicitacao, CssMain.i)); } if (CssPrint.SRC_CSS.Equals(objSolicitacao.strPagina)) { return(this.responderArquivoEstatico(objSolicitacao, CssPrint.i)); } return(null); }
private Resposta responderArquivoEstaticoGetScript(Solicitacao objSolicitacao) { if (objSolicitacao == null) { return(this.responderArquivoEstaticoNaoEncontrado(objSolicitacao)); } string strJsClass = objSolicitacao.getStrGetValue("class"); if (string.IsNullOrEmpty(strJsClass)) { return(this.responderArquivoEstaticoNaoEncontrado(objSolicitacao)); } ArquivoEstatico arqJq = this.getArqJs(strJsClass); if (arqJq == null) { return(this.responderArquivoEstaticoNaoEncontrado(objSolicitacao)); } return(new Resposta(objSolicitacao).addArquivo(arqJq)); }
public Resposta(Solicitacao objSolicitacao) { this.objSolicitacao = objSolicitacao; }
/// <summary> /// Este método é disparado a cada nova solicitação do cliente recebida. /// </summary> /// <param name="objSolicitacao"> /// Objeto que encapsula a solicitação que foi enviada pelo usuário. /// </param> /// <returns>Retorna o objeto contendo a responsta para o cliente.</returns> public abstract Resposta responder(Solicitacao objSolicitacao);
private Resposta responderDbFileDownload(Solicitacao objSolicitacao) { if (AppWebBase.i == null) { return(null); } if (AppWebBase.i.dbe == null) { return(null); } if (objSolicitacao == null) { return(null); } if (objSolicitacao.objUsuario == null) { return(null); } if (!objSolicitacao.objUsuario.booLogado) { return(new Resposta(objSolicitacao).addHtml("Usuário não autorizado.")); // TODO: Criar uma página de "sem permissão de acesso ao recurso". } int intRegistroId = objSolicitacao.getIntGetValue("registro_id"); if (intRegistroId < 1) { return(null); } string strTblNome = objSolicitacao.getStrGetValue("tbl_web_nome"); if (string.IsNullOrEmpty(strTblNome)) { return(null); } TabelaBase tbl = AppWebBase.i.dbe[strTblNome]; if (tbl == null) { return(null); } tbl.recuperar(intRegistroId); if (!intRegistroId.Equals(tbl.clnIntId.intValor)) { return(null); } var arqDownload = new ArquivoEstatico(); //arqDownload.arrBteConteudo = (tbl as ITblArquivo).getClnArq().arrBteValor; //arqDownload.dttAlteracao = (tbl as ITblArquivo).getClnDttArquivoModificacao().dttValor; //arqDownload.strNome = (tbl as ITblArquivo).getClnStrArquivoNome().strValor; // TODO: Refazer. tbl.liberarThread(); return(this.responderArquivoEstatico(objSolicitacao, arqDownload)); }