export engineSetHeader
(ctx *C.struct__engine_context, operation C.uint, buffer unsafe.Pointer, length C.uint)
| 162 | |
| 163 | //export engineSetHeader |
| 164 | func engineSetHeader(ctx *C.struct__engine_context, operation C.uint, buffer unsafe.Pointer, length C.uint) { |
| 165 | if engine == nil || engine.contexts[ctx] == nil { |
| 166 | return |
| 167 | } |
| 168 | |
| 169 | header := (string)(C.GoBytes(buffer, C.int(length))) |
| 170 | split := strings.SplitN(header, ":", 2) |
| 171 | |
| 172 | for i := range split { |
| 173 | split[i] = strings.TrimSpace(split[i]) |
| 174 | } |
| 175 | |
| 176 | switch operation { |
| 177 | case 0: // Replace header. |
| 178 | if len(split) == 2 && split[1] != "" { |
| 179 | engine.contexts[ctx].Header.Set(split[0], split[1]) |
| 180 | } |
| 181 | case 1: // Append header. |
| 182 | if len(split) == 2 && split[1] != "" { |
| 183 | engine.contexts[ctx].Header.Add(split[0], split[1]) |
| 184 | } |
| 185 | case 2: // Delete header. |
| 186 | if split[0] != "" { |
| 187 | engine.contexts[ctx].Header.Del(split[0]) |
| 188 | } |
| 189 | } |
| 190 | } |
| 191 | |
| 192 | //export engineReceiverNew |
| 193 | func engineReceiverNew(rcvr *C.struct__engine_receiver, args unsafe.Pointer) C.int { |
no test coverage detected