
Aleksandr
29.08.2017
14:22:05
что ты в итоге из этого хочешь получить? Body респонса?

Egor
29.08.2017
14:22:38
условие регэкспом типа если пэйдж на *.php редиректим туда (в нашем случае в го, потом в php-fpm)
я думал он в чистом виде отдает как получил от браузера а походу нифига

Google

Aleksandr
29.08.2017
14:23:51
покажи настройку нджинкса касаемо этого
и код го, который читает из соекта

Egor
29.08.2017
14:24:08
ща
8888 порт я слушаю на go

Aleksandr
29.08.2017
14:25:36
то есть вместо php у тебя го отвечает?

Egor
29.08.2017
14:26:15
слушаю через net.Conn.Read()
я слушаю посередине и отдаю дальше

Dmitriy
29.08.2017
14:28:42
Привет! Ребят, сможете подсказать?
Использую protobuf через grpc. Задался вопросом как идентифицировать сессию клиента между запросами, пока что только в голове решение – token прописать в каждом request message
Есть ли у кого-нибудь другое решение?

Aleksandr
29.08.2017
14:28:52
не могу понять: я тупой, или ты делаешь одну из самых дичайших вещей в истории?

Egor
29.08.2017
14:29:20

xPushkin
29.08.2017
14:29:29

Google

Irek
29.08.2017
14:29:42
А не проще сделать через nginx proxy, а не через nginx fastcgi?

Egor
29.08.2017
14:29:42

Irek
29.08.2017
14:31:08

Egor
29.08.2017
14:31:46
хотя я нашел его, я должен буду изменять запрос в туле на go чтобы отдавать php-fpm
а так nginx сам его как мы видим "переиначивает"

Aleksandr
29.08.2017
14:32:32

Irek
29.08.2017
14:32:49
Ак он тупо редирект делает, без всякой обработки. А fastcgi хер знает чем напичкан

Egor
29.08.2017
14:33:34

Irek
29.08.2017
14:34:16
Я если честно ваще не понимаю зачем тут nginx, если уж на то пошло)

Egor
29.08.2017
14:34:24

Aleksandr
29.08.2017
14:35:40
думаю тебе вот это поможет https://github.com/beberlei/fastcgi-serve/blob/master/fastcgi-serve.go

Egor
29.08.2017
14:35:43

Aleksandr
29.08.2017
14:35:46
и это https://github.com/beberlei/fastcgi-serve/blob/master/fcgiclient/fastcgi.go

Egor
29.08.2017
14:36:11
ооо, спасибо щас заценю

Aleksandr
29.08.2017
14:36:18
там, как я понял, уже написан парсер fastcgi request/response

Egor
29.08.2017
14:36:20
до этого копал вот это, но не прокатило
https://github.com/alash3al/xerver/blob/master/xerver.go

Irek
29.08.2017
14:36:38
Вы бы конечно объяснили, что вы хотите получить, может что и порекомендовали)
А то получается глухой телефон)

Google

Egor
29.08.2017
14:37:21

Irek
29.08.2017
14:38:14

Egor
29.08.2017
14:38:19
дампить в смысле чтобы анализировать можно было по полям структур

Irek
29.08.2017
14:40:22
Packetbeat: Network Analytics Using Elasticsearch | Elastic
https://www.elastic.co/products/beats/packetbeat

Vasily Romanov
29.08.2017
14:40:28
через контекст

Irek
29.08.2017
14:40:45
Это конечно целая инфраструктура получается, но она рабочая

Dmitriy
29.08.2017
14:41:35
Vasily Romanov т.е. нужно действовать по такому алгоритму?
1. Клиент шлет запрос
2. Сервер отдает ответ с метадатой (в ней токен?)
3. Клиент шлет последующие запросы с принятой от сервера методатой

Vasily Romanov
29.08.2017
14:41:52
А, там более сложная цепочка
Можно так
Вроде там есть tailer-metadata, но я её никогда не пользовался

Vasily Romanov
29.08.2017
14:43:13
я думал там вариант единичных автономных запросов
Хотя если это жестко на логику приложения зашито и там цепочка азпрсоов, токены для которых задаётся сервером - может и в сами запросы унести, вполне

Dmitriy
29.08.2017
14:50:04
Просто не хочется запросы наполнять токенами, так как одно клиентское соединение на каждого клиента, хотелось бы просто идентифицировать этого клиента в рамках одного соединения, посмотрю на tailer-metadata
Спасибо

Ilya
29.08.2017
14:59:42

TILTED
29.08.2017
17:29:14
GetFileAttributesEx c:\temp: The system cannot find the file specified.
как фиксить?

Google

Илья
29.08.2017
17:37:31
дампи ошибку, судя по https://golang.org/src/os/stat_windows.go, там будет структура с путём до файла

DimenSi
29.08.2017
20:42:58
Что-то я запутался, если один пакет, но разные файлы, то нужно экспортировать для использовании в других файлах?
как тесты видят не экспортируемые функции?

Alex
29.08.2017
20:44:16

Admin
ERROR: S client not available

Alex
29.08.2017
20:44:30
Видимость на уровне пакета

DimenSi
29.08.2017
20:44:31
ну пакет main
просто я помню было когда у меня method is undefinded, пока экспортировать не начал, при этом пакет то один был

Alex
29.08.2017
20:45:40

DimenSi
29.08.2017
20:47:24
https://github.com/edDimensi/testGame/blob/master/game.go#L34
https://github.com/edDimensi/testGame/blob/master/player.go#L40

Alex
29.08.2017
20:50:20
И когда ты вызываешь не экспортируемый метод, то у тебя ошибка?

DimenSi
29.08.2017
20:52:10
пока не знаю) Я заранее
у меня в vs code редактирование символова через раз работает
поэтому не рискую лишний раз
я вообще правильно ошибку сделал и вызываю ее?
@alexsadliak вот сейчас точно ошибка есть
parsedCommand находится в game.go, а это main_test.go

Alex
29.08.2017
21:00:32

Google

Alex
29.08.2017
21:00:51
Если внимательно посмотреть :)

DimenSi
29.08.2017
21:01:07
да
бред какой-то

Alex
29.08.2017
21:01:28
Ну а ты пробуешь вызвать с маленькой
Между F() и f() есть разница

DimenSi
29.08.2017
21:01:57
я уже понял, я про то, что есть другой "проект" там приходилось экспортировать, а теперь выясняется, что это не нужно

Alex
29.08.2017
21:02:40
Все примеры, что ты скидывал, в package main
И все окей :)
Возможно, ты что-то не так делал

Alexander
30.08.2017
02:45:31

Andrew
30.08.2017
04:15:50
А как надо правильно делать?
Предположу:
Цикл for по мапе, делающий insert для каждого значения. Обернуть красиво в одну транзакцию - и всё будет ок.

Alexander
30.08.2017
04:21:27
5 полей - 5 инсертов???

Andrew
30.08.2017
05:19:08

Alexander
30.08.2017
05:20:36
Кстати, вышеописанным методом инъекция не прошла. Так что оставлю его пока.
вот так правильно:
func makeQuery(table string, myMap map[string]interface{}) (string, []interface{}) {
keys := make([]string, 0, len(myMap))
vals := make([]interface{}, 0, len(myMap))
for key, val := range myMap {
keys = append(keys, key)
vals = append(vals, val)
}
placeholders := strings.Repeat("?,", len(keys))
return fmt.Sprintf(
"INSERT INTO %s (%s) VALUES(%s)",
table,
strings.Join(keys, ", "),
placeholders[:len(placeholders)-1],
),
vals
}
?