Skip to content

Commit 10319cf

Browse files
Apresentando o net/http - handler
1 parent 0a6acde commit 10319cf

File tree

5 files changed

+31
-13
lines changed

5 files changed

+31
-13
lines changed

Diff for: PaginaTeste.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Esta é uma pagina de exemplo.

Diff for: net_http/example

7.11 MB
Binary file not shown.

Diff for: net_http/example.go

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Aqui está um exemplo funcional completo de um servidor web simples:
2+
3+
package main
4+
5+
import (
6+
"fmt"
7+
"net/http"
8+
)
9+
10+
// A função handler é do tipo http.HandlerFunc. Leva um http.ResponseWriter e um http.Request
11+
// como seus argumentos.
12+
13+
// Um valor http.ResponseWriter monta a resposta do servidor HTTP; ao escrever nele enviamos dados
14+
// para o cliente HTTP. Nesse caso enviei "Olá, eu adoro %s!"
15+
16+
// Um http.Request é uma estrutura de dados que representa a solicitação HTTP do client.
17+
// O r.URL.Path é o componente do caminho do URL da solicitação. O [1:] significa
18+
// "criar um sub-slice do Path do primeiro caractere até o fim."
19+
// Isso remove o "/" inicial do nome do caminho.
20+
21+
// Então qualquer coisa escrita no browser depois da raiz / é adicionado a mensagem de "Olá, eu adoro..."
22+
23+
func handler(w http.ResponseWriter, r *http.Request) {
24+
fmt.Fprintf(w, "Olá, eu adoro %s!", r.URL.Path[1:])
25+
}
26+
27+
func main() {
28+
29+
}

Diff for: wiki

2.04 MB
Binary file not shown.

Diff for: wiki.go

+1-13
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,9 @@ func carregaPagina(titulo string) (*Pagina, error) {
2727
return &Pagina{Titulo: titulo, Corpo: corpo}, nil
2828
}
2929

30-
// Neste ponto, temos uma estrutura de dados simples e a capacidade de salvar e carregar um arquivo.
31-
// Vamos escrever uma main func para testar o que escrevemos:
32-
3330
func main() {
3431
escrever := &Pagina{Titulo: "PaginaTeste", Corpo: []byte("Esta é uma pagina de exemplo.")}
3532
escrever.salvar()
36-
ler, _ := carregaPagina("Pagina teste")
33+
ler, _ := carregaPagina("PaginaTeste")
3734
fmt.Println(string(ler.Corpo))
3835
}
39-
40-
// Após compilar e executar este código, um arquivo chamado PaginaTeste.txt será criado,
41-
// contendo o conteúdo de escrever. O arquivo será então lido na estrutura ler e seu corpo impresso na tela.
42-
43-
// Você pode compilar e executar o programa assim:
44-
45-
// $ go build wiki.go
46-
// $ ./wiki
47-
// Esta é uma pagina de exemplo.

0 commit comments

Comments
 (0)