Hi there-

Here's what I'm trying to do:

Redirect GET calls to root to a static directory with an index.html file in it. 
I thought I could redirect to the folder containing the index.html and then use 
the setIndexName of Directory to serve up the index.html file once the user 
gets redirected to the parent folder but it's not working that way. Here's what 
I have right now: 

    <bean id="componentChildContext" class="org.restlet.Context">
        <lookup-method name="createChildContext" bean="component.context" />
        <property name="clientDispatcher">
            <bean class="org.restlet.Client">
                <constructor-arg name="protocolName" value="clap" />
            </bean>
        </property>
    </bean>
    
    <bean id="docsRedirector" class="org.restlet.routing.Redirector">
        <constructor-arg name="context" ref="componentChildContext" />
        <constructor-arg name="targetPattern" value="{rbi}docs/index.html" />
        <constructor-arg name="mode">
            <bean id="org.restlet.routing.Redirector.MODE_CLIENT_SEE_OTHER" 
                
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"/>
        </constructor-arg>
    </bean>

    <bean id="docsDir" class="org.restlet.resource.Directory">
        <constructor-arg name="context" ref="componentChildContext" />
        <constructor-arg name="rootUri" value="clap:///docs/" />
        <property name="indexName" value="index" />
    </bean>

    <bean id="router" class="org.restlet.ext.spring.SpringRouter">
        <!-- Remember there is a "/<root>" portion of the URI appended by the 
web container as context. -->
        <property name="attachments">
            <map>
                <entry key="/" value-ref="docsRedirector" />
                <entry key="/docs/" value-ref="docsDir" />
            </map>
        </property>
    </bean>

This actually works because I am redirecting to the actually index.html but it 
seems awfully brittle to be redirecting to {rbi}docs/index.html rather than 
just {rbi}docs/ which I could live with but the problem is my WADL description 
shows that you can call a GET on docs/ but when you try that you get a plain 
ol' non-hypermediafied listing of the files within docs. I tried messing with 
the setNegotiatingContent flag to no avail. Have I missed the purpose of 
setIndexName? 

Thanks.

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=3041079

Reply via email to