mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Added StepikRestService
This commit is contained in:
committed by
meanmail
parent
aca43e3d76
commit
c941b6ab81
@@ -33,5 +33,6 @@
|
||||
<orderEntry type="module" module-name="idea-ui" />
|
||||
<orderEntry type="module" module-name="openapi" />
|
||||
<orderEntry type="library" name="Guava" level="project" />
|
||||
<orderEntry type="module" module-name="built-in-server" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -40,14 +40,16 @@
|
||||
</application-components>
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint qualifiedName="Edu.eduIntelliJProjectTemplate" interface="com.jetbrains.edu.learning.intellij.EduIntelliJProjectTemplate"/>
|
||||
<extensionPoint qualifiedName="Edu.eduIntelliJProjectTemplate"
|
||||
interface="com.jetbrains.edu.learning.intellij.EduIntelliJProjectTemplate"/>
|
||||
<extensionPoint qualifiedName="Edu.StudyExecutor" beanClass="com.intellij.lang.LanguageExtensionPoint">
|
||||
<with attribute="implementationClass" implements="com.jetbrains.edu.learning.checker.StudyExecutor"/>
|
||||
</extensionPoint>
|
||||
<extensionPoint qualifiedName="Edu.pluginConfigurator" beanClass="com.intellij.lang.LanguageExtensionPoint">
|
||||
<with attribute="implementationClass" implements="com.jetbrains.edu.learning.EduPluginConfigurator"/>
|
||||
</extensionPoint>
|
||||
<extensionPoint qualifiedName="Edu.studyTwitterPluginConfigurator" interface="com.jetbrains.edu.learning.StudyTwitterPluginConfigurator"/>
|
||||
<extensionPoint qualifiedName="Edu.studyTwitterPluginConfigurator"
|
||||
interface="com.jetbrains.edu.learning.StudyTwitterPluginConfigurator"/>
|
||||
<extensionPoint qualifiedName="Edu.checkListener" interface="com.jetbrains.edu.learning.StudyCheckListener"/>
|
||||
<extensionPoint qualifiedName="Edu.optionsProvider" beanClass="com.jetbrains.edu.learning.settings.StudyOptionsProviderEP">
|
||||
<with attribute="instance" implements="com.jetbrains.edu.learning.settings.StudyOptionsProvider"/>
|
||||
@@ -70,8 +72,9 @@
|
||||
description="Navigate to the next task"/>
|
||||
<action id="RefreshTaskAction" class="com.jetbrains.edu.learning.actions.StudyRefreshTaskFileAction" text="Reset Task File"
|
||||
description="Refresh current task"/>
|
||||
<action id="RefreshAnswerPlaceholder" class="com.jetbrains.edu.learning.actions.StudyRefreshAnswerPlaceholder" text="Refresh Answer Placeholder">
|
||||
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
|
||||
<action id="RefreshAnswerPlaceholder" class="com.jetbrains.edu.learning.actions.StudyRefreshAnswerPlaceholder"
|
||||
text="Refresh Answer Placeholder">
|
||||
<add-to-group group-id="EditorPopupMenu" anchor="last"/>
|
||||
</action>
|
||||
<action id="WatchInputAction" class="com.jetbrains.edu.learning.actions.StudyEditInputAction" text="Watch Test Input"
|
||||
description="Watch test input "/>
|
||||
@@ -157,13 +160,15 @@
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<projectService serviceInterface="com.intellij.codeInsight.documentation.DocumentationManager"
|
||||
serviceImplementation="com.jetbrains.edu.learning.StudyDocumentationManager" overrides="true"/>
|
||||
serviceImplementation="com.jetbrains.edu.learning.StudyDocumentationManager" overrides="true"/>
|
||||
<applicationConfigurable groupId="tools" instance="com.jetbrains.edu.learning.settings.StudyConfigurable"
|
||||
id="com.jetbrains.edu.learning.settings.StudyConfigurable"
|
||||
displayName="Education"/>
|
||||
|
||||
<toolWindow id="Task Description" anchor="right" factoryClass="com.jetbrains.edu.learning.ui.StudyToolWindowFactory" conditionClass="com.jetbrains.edu.learning.ui.StudyCondition"/>
|
||||
<toolWindow id="Test Results" anchor="bottom" factoryClass="com.jetbrains.edu.learning.ui.StudyTestResultsToolWindowFactory" conditionClass="com.jetbrains.edu.learning.ui.StudyCondition"/>
|
||||
<toolWindow id="Task Description" anchor="right" factoryClass="com.jetbrains.edu.learning.ui.StudyToolWindowFactory"
|
||||
conditionClass="com.jetbrains.edu.learning.ui.StudyCondition"/>
|
||||
<toolWindow id="Test Results" anchor="bottom" factoryClass="com.jetbrains.edu.learning.ui.StudyTestResultsToolWindowFactory"
|
||||
conditionClass="com.jetbrains.edu.learning.ui.StudyCondition"/>
|
||||
<fileEditorProvider implementation="com.jetbrains.edu.learning.editor.StudyFileEditorProvider"/>
|
||||
<treeStructureProvider implementation="com.jetbrains.edu.learning.projectView.StudyTreeStructureProvider"/>
|
||||
<highlightErrorFilter implementation="com.jetbrains.edu.learning.editor.StudyHighlightErrorFilter"/>
|
||||
@@ -177,6 +182,7 @@
|
||||
<applicationService serviceImplementation="com.jetbrains.edu.learning.StudySettings"/>
|
||||
<editorTabTitleProvider implementation="com.jetbrains.edu.learning.StudyTabTitleProvider"/>
|
||||
<typedHandler implementation="com.jetbrains.edu.learning.StudyTypeHandlerDelegate" order="first, before completionAutoPopup"/>
|
||||
<httpRequestHandler implementation="com.jetbrains.edu.learning.builtInServer.StepikRestService"/>
|
||||
|
||||
<!--course creator-->
|
||||
<projectService serviceImplementation="com.jetbrains.edu.coursecreator.CCProjectService"/>
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright 2000-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.jetbrains.edu.learning.builtInServer;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.handler.codec.http.FullHttpRequest;
|
||||
import io.netty.handler.codec.http.HttpMethod;
|
||||
import io.netty.handler.codec.http.QueryStringDecoder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.ide.RestService;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author meanmail
|
||||
*/
|
||||
public class StepikRestService extends RestService {
|
||||
private static final Logger LOG = Logger.getInstance(StepikRestService.class.getName());
|
||||
private static final String SERVICE_NAME = "stepik";
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getServiceName() {
|
||||
return SERVICE_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isMethodSupported(@NotNull HttpMethod method) {
|
||||
return method.equals(HttpMethod.GET);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String execute(@NotNull QueryStringDecoder urlDecoder, @NotNull FullHttpRequest request, @NotNull ChannelHandlerContext context)
|
||||
throws IOException {
|
||||
LOG.info("Request: " + urlDecoder.path());
|
||||
RestService.sendOk(request, context);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user