private boolean initPipeline(ChannelHandlerContext var1) { SslHandler var2 = (SslHandler) var1.pipeline().get(SslHandler.class); if (var2 == null) { throw new IllegalStateException("SslHandler is needed for SPDY"); } else { SpdyOrHttpChooser.SelectedProtocol var3 = this.getProtocol(var2.engine()); switch (SpdyOrHttpChooser.SyntheticClass_1 .$SwitchMap$io$netty$handler$codec$spdy$SpdyOrHttpChooser$SelectedProtocol[ var3.ordinal()]) { case 1: return false; case 2: this.addSpdyHandlers(var1, SpdyVersion.SPDY_3_1); break; case 3: case 4: this.addHttpHandlers(var1); break; default: throw new IllegalStateException("Unknown SelectedProtocol"); } return true; } }
public static SpdyOrHttpChooser.SelectedProtocol protocol(String var0) { SpdyOrHttpChooser.SelectedProtocol[] var1 = values(); int var2 = var1.length; for (int var3 = 0; var3 < var2; ++var3) { SpdyOrHttpChooser.SelectedProtocol var4 = var1[var3]; if (var4.protocolName().equals(var0)) { return var4; } } return UNKNOWN; }
// $FF: synthetic class static class SyntheticClass_1 { // $FF: synthetic field static final int[] $SwitchMap$io$netty$handler$codec$spdy$SpdyOrHttpChooser$SelectedProtocol = new int[SpdyOrHttpChooser.SelectedProtocol.values().length]; static { try { $SwitchMap$io$netty$handler$codec$spdy$SpdyOrHttpChooser$SelectedProtocol[ SpdyOrHttpChooser.SelectedProtocol.UNKNOWN.ordinal()] = 1; } catch (NoSuchFieldError var4) {; } try { $SwitchMap$io$netty$handler$codec$spdy$SpdyOrHttpChooser$SelectedProtocol[ SpdyOrHttpChooser.SelectedProtocol.SPDY_3_1.ordinal()] = 2; } catch (NoSuchFieldError var3) {; } try { $SwitchMap$io$netty$handler$codec$spdy$SpdyOrHttpChooser$SelectedProtocol[ SpdyOrHttpChooser.SelectedProtocol.HTTP_1_0.ordinal()] = 3; } catch (NoSuchFieldError var2) {; } try { $SwitchMap$io$netty$handler$codec$spdy$SpdyOrHttpChooser$SelectedProtocol[ SpdyOrHttpChooser.SelectedProtocol.HTTP_1_1.ordinal()] = 4; } catch (NoSuchFieldError var1) {; } } }
protected SpdyOrHttpChooser.SelectedProtocol getProtocol(SSLEngine var1) { String[] var2 = StringUtil.split(var1.getSession().getProtocol(), ':'); if (var2.length < 2) { return SpdyOrHttpChooser.SelectedProtocol.HTTP_1_1; } else { SpdyOrHttpChooser.SelectedProtocol var3 = SpdyOrHttpChooser.SelectedProtocol.protocol(var2[1]); return var3; } }