Skip to content

Commit

Permalink
Apresentando o net/http - handler
Browse files Browse the repository at this point in the history
  • Loading branch information
wagnerdevocelot committed Aug 10, 2020
1 parent 0a6acde commit 10319cf
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 13 deletions.
1 change: 1 addition & 0 deletions PaginaTeste.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Esta é uma pagina de exemplo.
Binary file added net_http/example
Binary file not shown.
29 changes: 29 additions & 0 deletions net_http/example.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Aqui está um exemplo funcional completo de um servidor web simples:

package main

import (
"fmt"
"net/http"
)

// A função handler é do tipo http.HandlerFunc. Leva um http.ResponseWriter e um http.Request
// como seus argumentos.

// Um valor http.ResponseWriter monta a resposta do servidor HTTP; ao escrever nele enviamos dados
// para o cliente HTTP. Nesse caso enviei "Olá, eu adoro %s!"

// Um http.Request é uma estrutura de dados que representa a solicitação HTTP do client.
// O r.URL.Path é o componente do caminho do URL da solicitação. O [1:] significa
// "criar um sub-slice do Path do primeiro caractere até o fim."
// Isso remove o "/" inicial do nome do caminho.

// Então qualquer coisa escrita no browser depois da raiz / é adicionado a mensagem de "Olá, eu adoro..."

func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Olá, eu adoro %s!", r.URL.Path[1:])
}

func main() {

}
Binary file added wiki
Binary file not shown.
14 changes: 1 addition & 13 deletions wiki.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,9 @@ func carregaPagina(titulo string) (*Pagina, error) {
return &Pagina{Titulo: titulo, Corpo: corpo}, nil
}

// Neste ponto, temos uma estrutura de dados simples e a capacidade de salvar e carregar um arquivo.
// Vamos escrever uma main func para testar o que escrevemos:

func main() {
escrever := &Pagina{Titulo: "PaginaTeste", Corpo: []byte("Esta é uma pagina de exemplo.")}
escrever.salvar()
ler, _ := carregaPagina("Pagina teste")
ler, _ := carregaPagina("PaginaTeste")
fmt.Println(string(ler.Corpo))
}

// Após compilar e executar este código, um arquivo chamado PaginaTeste.txt será criado,
// contendo o conteúdo de escrever. O arquivo será então lido na estrutura ler e seu corpo impresso na tela.

// Você pode compilar e executar o programa assim:

// $ go build wiki.go
// $ ./wiki
// Esta é uma pagina de exemplo.

0 comments on commit 10319cf

Please sign in to comment.